numactl工具可用于查看当前服务器的NUMA节点配置、状态,可通过该工具将进程绑定到指定CPU core,由指定CPU core来运行对应进程。
命令参考举例:
命令 |
说明 |
---|---|
numactl -H |
查看当前服务器的NUMA配置。 |
numactl -C 0-7 ./test |
将应用程序test绑定到0~7核运行。 |
numastat |
查看当前的NUMA运行状态。 |
以CentOS为例,使用如下命令安装:
# yum -y install numactl numastat
从numactl执行结果可以看到,示例服务器共划分为4个NUMA节点。每个节点包含16个CPU core,每个节点的内存大小约为64GB。同时,该命令还给出了不同节点间的距离,距离越远,跨NUMA内存访问的延时越大。应用程序运行时应减少跨NUMA访问内存。
通过numactl -C 0-15 top命令即是将进程“top”绑定到0~15 CPU core上执行。
可以通过numastat命令观察各个NUMA节点的状态。