首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NUMA信息在/proc/vmstat中

NUMA信息在/proc/vmstat中
EN

Stack Overflow用户
提问于 2020-04-26 17:21:23
回答 1查看 522关注 0票数 2

我需要获得一些关于我的应用程序的NUMA相关信息(例如,我不能使用numatop工具,但我可以使用numastat)。因此,我对/proc/vmstat中的NUMA相关字段有一些疑问,不确定我是否正确理解了它们的含义。

这两者显然与(新)页的分配有关。

  • numa_hit成功分配给此节点的页数。
  • numa_miss由于目标节点上内存不足而在此节点上分配的页面数。

如何访问已经分配的页面?我对在一个节点上分配并从另一个节点访问的页面特别感兴趣。这两个是我要找的吗?

  • numa_hint_faults
  • numa_hint_faults_local

最后,

  • numa_pages_migrated记录有多少页因为被错误放置而被迁移。

如果我使用来自libnuma的自定义调用(如numa_bind )来强制将进程绑定到节点,这对我有用吗?如果没有自动平衡,是否有迁移到增量此计数器的页面?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-26 17:48:35

这些是用于分析自动NUMA平衡的度量标准。

平衡器的工作如下:

  1. 当未对正在检查的进程进行调度时,扫描其地址空间的一部分,并将每一页标记为不存在。 这将在进程下次访问这些页面中的地址时产生错误。 这些错误被称为NUMA暗示故障(NHF)。
  2. 当发生NHF时,内核将页面迁移到本地内存,并将其迁移到故障线程。

现在,进程可能有多个线程,当平衡器获取地址空间的一部分时,它不知道哪个线程将访问哪个页面,因此它不能排除其中一个线程正在执行的节点已经本地的页面。

例如,如果进程在节点N1和N2中有两个线程,A,则即使它已经位于节点N1 (或N2)的本地内存中,平衡器也不能跳过页面X。

因此,有时,平衡器会发现自己的情况下,NHF页面已经在内存中最近的线程,这被称为本地NHF。

局部NHF占NHF总量的百分比是考虑分配内存的拓扑结构有多大。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61444982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档