gpt4 book ai didi

linux -/proc/vmstat 中的 NUMA 信息

转载 作者:行者123 更新时间:2023-12-03 10:01:10 28 4
gpt4 key购买 nike

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

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

  • numa_hit成功分配的页数
    这个节点。
  • numa_miss在此节点上分配的页数
    因为预期节点上的内存不足。

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

  • 最后,
  • numa_pages_migrated记录有多少页面因为放错位置而被迁移。

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

    最佳答案

    这些是用于分析 Automatic NUMA Balancing 的指标。 .

    平衡器的工作原理如下:

  • 当被检查的进程没有被调度时,它的一部分地址空间被扫描并且每个页面被标记为不存在。
    这将在进程下一次访问这些页面中的地址时产生错误。
    这些错误是有意的,称为 NUMA 提示错误 (NHF)。
  • 当 NHF 发生时,内核将页面迁移到故障线程本地的内存。

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

    例如,如果进程在节点 N1 和 N2 中有两个线程 A e B,即使页面 X 已经在节点 N1(或 N2)的本地内存中,平衡器也无法跳过页面 X。
    所以有时,平衡器会发现自己处于 NHF 页面已经在最接近线程的内存中的情况下,这称为本地 NHF。

    本地 NHF 占总 NHF 的百分比是对分配内存的拓扑优化程度的评价。

    关于linux -/proc/vmstat 中的 NUMA 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61444982/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com