Bee*_*ope 5 linux memory redhat central-processing-unit numa
我知道可以将特定进程的 numa 模式设置为“交错”(请参见下面的注释)numactrl --interleave,但我想知道是否可以将其设为系统范围的默认值(又名更改“系统策略”) ”)。例如,是否有一个内核启动标志来实现这一点?
注意:这里我谈论的是跨 NUMA 节点交错分配的页面的内核行为,而不是 BIOS 级别的内存控制器行为设置,该行为设置跨 NUMA 节点交错缓存行
如果使用 RHEL/CentOS/Fedora,我建议使用numad守护进程。(红帽付费专区链接)。
\n\n虽然我对该指令没有太多用处numactl --interleave,但您似乎已经确定您的工作负载需要它。您能否解释一下为什么会出现这种情况,以便提供更好的背景信息?
编辑:
\n\n似乎大多数推荐显式numactl定义的应用程序要么调用libnuma 库,要么合并numactl到包装脚本中。
另一方面numad,有一个配置选项可以在命令行或/etc/numad.conf...中指定。
-K <0|1>\n This option controls whether numad keeps interleaved memory spread across NUMA nodes, or\n attempts to merge interleaved memory to local NUMA nodes. The default is to merge interleaved\n memory. This is the appropriate setting to localize processes in a subset of the system\xe2\x80\x99s\n NUMA nodes. If you are running a large, single-instance application that allocates inter-\n leaved memory because the workload will have continuous unpredictable memory access patterns\n (e.g. a large in-memory database), you might get better results by specifying -K 1 to instruct\n numad to keep interleaved memory distributed.\nRun Code Online (Sandbox Code Playgroud)\n\n有人说尝试使用类似的方法numad -K 1 -u X(其中 X 是 100 x 核心数)可能会有所帮助。尝试一下。
另请参阅HP 关于 Linux 和 NUMA 的 ProLiant 白皮书。
\n| 归档时间: |
|
| 查看次数: |
7574 次 |
| 最近记录: |