numactl工具
介绍
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查看当前服务器的NUMA配置。
从numactl执行结果可以看到,示例服务器共划分为4个NUMA节点。每个节点包含16个CPU core,每个节点的内存大小约为64GB。同时,该命令还给出了不同节点间的距离,距离越远,跨NUMA内存访问的延时越大。应用程序运行时应减少跨NUMA访问内存。
- 通过numactl将进程绑定到指定CPU core。
通过numactl -C 0-15 top命令即是将进程“top”绑定到0~15 CPU core上执行。
- 通过numastat查看当前NUMA节点的内存访问命中率。
可以通过numastat命令观察各个NUMA节点的状态。
- numa_hit表示节点内CPU核访问本地内存的次数。
- numa_miss表示节点内核访问其他节点内存的次数。跨节点的内存访问会存在高延迟从而降低性能,因此,numa_miss的值应当越低越好,如果过高,则应当考虑绑核。
父主题: 常用性能监测工具