我需要获得一些关于我的应用程序的NUMA相关信息(例如,我不能使用numatop工具,但我可以使用numastat)。因此,我对/proc/vmstat中的NUMA相关字段有一些疑问,不确定我是否正确理解了它们的含义。
这两者显然与(新)页的分配有关。
numa_hit成功分配给此节点的页数。numa_miss由于目标节点上内存不足而在此节点上分配的页面数。如何访问已经分配的页面?我对在一个节点上分配并从另一个节点访问的页面特别感兴趣。这两个是我要找的吗?
numa_hint_faultsnuma_hint_faults_local最后,
numa_pages_migrated记录有多少页因为被错误放置而被迁移。如果我使用来自libnuma的自定义调用(如numa_bind )来强制将进程绑定到节点,这对我有用吗?如果没有自动平衡,是否有迁移到增量此计数器的页面?
发布于 2020-04-26 17:48:35
这些是用于分析自动NUMA平衡的度量标准。
平衡器的工作如下:
现在,进程可能有多个线程,当平衡器获取地址空间的一部分时,它不知道哪个线程将访问哪个页面,因此它不能排除其中一个线程正在执行的节点已经本地的页面。
例如,如果进程在节点N1和N2中有两个线程,A,则即使它已经位于节点N1 (或N2)的本地内存中,平衡器也不能跳过页面X。
因此,有时,平衡器会发现自己的情况下,NHF页面已经在内存中最近的线程,这被称为本地NHF。
局部NHF占NHF总量的百分比是考虑分配内存的拓扑结构有多大。
https://stackoverflow.com/questions/61444982
复制相似问题