Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux /proc/vmstat中的NUMA信息_Linux_Performance_Numa - Fatal编程技术网

Linux /proc/vmstat中的NUMA信息

Linux /proc/vmstat中的NUMA信息,linux,performance,numa,Linux,Performance,Numa,我需要获取有关我的应用程序的一些NUMA相关信息(例如,我不能使用numatop工具,但我可以使用numastat)。因此,对于/proc/vmstat中与NUMA相关的字段,我有一些问题,不确定我是否正确理解了它们的含义 这两者显然与(新)页面的分配有关 numa\u hit成功分配到的页面数 这个节点 numa\u miss在此节点上分配的页数 因为目标节点上的内存不足 如何访问已分配的页面?我对在一个节点上分配并从另一个节点访问的页面特别感兴趣。 这两个是我要找的吗 numa\u提示

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

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

  • numa\u hit
    成功分配到的页面数 这个节点

  • numa\u miss
    在此节点上分配的页数 因为目标节点上的内存不足

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

  • numa\u提示\u故障
  • numa\u提示\u故障\u本地
最后呢,

  • numa\u pages\u migrated
    记录由于页面错位而迁移的页面数量

如果我使用来自
libnuma
的自定义调用,比如
numa\u bind
将进程强制绑定到节点,那么这对我有用吗?在没有自动平衡的情况下,是否有任何页面迁移以增加此计数器?

这些是用于分析计数器的指标

平衡器的工作原理如下:

  • 当被检查的过程未计划时,将扫描其地址空间的一部分,并将每个页面标记为不存在。
    这将在进程下次访问这些页面中的地址时生成错误。
    这些故障被称为NUMA暗示故障(NHF)
  • 当发生NHF时,内核会将页面迁移到本地内存,以使线程出错
  • 现在,一个进程可能有多个线程,当均衡器获取一部分地址空间时,它无法知道哪个线程将访问哪个页面,因此它无法排除已经在其中一个线程正在执行的节点本地的页面

    例如,如果进程在节点N1和N2中有两个线程A e B,则即使页面X已经在节点N1(或N2)的本地内存中,均衡器也不能跳过该页面 因此,有时,平衡器会发现自己的NHF页面已经在离线程最近的内存中,这称为本地NHF


    本地NHF占总NHF的百分比表示所分配内存的拓扑结构的优化程度。

    您似乎是对的,计数器似乎不受手动绑定到numa节点的代码的影响