天天看点

NUMA与英特尔下一代Xeon处理器学习心得(8)

下面是一些NUMA策略控制工具

NUMACTL 是设定进程NUMA策略的命令行工具。对于那些无法修改和重新编译的程序,它可以进行非常有效的策略设定。Numactl使管理员可以通过简单的命令行调用来设定进程的策略, 并可以集成到管理脚本中。

Numactl的主要功能包括:

1.  设定进程的内存分配基本策略

2. 限定内存分配范围,如某一特定节点或部分节点集合

3. 对进程进行节点或节点集合的绑定

4. 修改命名共享内存,tmpfs或hugetblfs等的内存策略

5. 获取当前策略信息及状态

6. 获取NUMA硬件拓扑

 下面是使用numactl设定进程策略的实例:

 numactl --cpubind=0 --membind=0,1 program

 其意义为:在节点0上的CPU运行名为program的程序,并且只在节点0,1上分配内存。Cpubind的参数是节点编号,而不是cpu编号。在每个节点上有多个CPU的系统上,编号的定义顺序可能会不同。

 下面是使用numactl更改共享内存段的分配策略的实例:

 numactl --length=1G --file=/dev/shm/interleaved --interleave=all

 其意义为: 对命名共享内存interleaved进行设置,其策略为全节点交织分配,大小为1G。

 NUMASTAT 是获取NUMA内存访问统计信息的命令行工具。对于系统中的每个节点,内核维护了一些有关NUMA分配状态的统计数据。numastat命令会基于节点对内存的申请,分配,转移,失败等等做出统计,也会报告NUMA策略的执行状况。这些信息对于测试NUMA策略的有效性是非常有用的。

这部分我也还在继续学习中,有了新的心得一定尽快发布。:-)

本文转自Intel_ISN 51CTO博客,原文链接:http://blog.51cto.com/intelisn/130458,如需转载请自行联系原作者

继续阅读