---
title: numactl工具
description: "numactl工具可用于查看当前服务器的NUMA节点配置、状态，还用于将进程绑定到指定CPU核，绑定后由指定CPU核运行对应进程。"
url: https://www.hikunpeng.com/document/detail/zh/perftuning/tuningtip/kunpengtuning_12_0009.html
sourcePath: /source/zh/perftuning/tuningtip/kunpengtuning_12_0009.html
indexId: 002edd32756ed4ef900c75d8cbd78be3b1967b1ddf083ecbef1431f23fc5159558
---
# numactl工具

#### 介绍

numactl工具可用于查看当前服务器的NUMA节点配置、状态，还用于将进程绑定到指定CPU核，绑定后由指定CPU核运行对应进程。

命令参考举例：

| 命令 | 说明 |
| --- | --- |
| numactl \-H | 查看当前服务器的NUMA配置。 |
| numactl \-C 0\-7 ./test | 将应用程序test绑定到0~7核运行。 |
| numastat | 查看当前的NUMA运行状态。 |


#### 安装方式

以CentOS为例，使用如下命令安装：

```
yum -y install numactl numastat
```


#### 使用方法

1. 通过numactl -H查看当前服务器的NUMA配置。
  从numactl执行结果可以看到，示例服务器共划分为4个NUMA节点。每个节点包含16个CPU核，每个节点的内存大小约为64GB。同时，该命令还给出了不同节点间的距离，距离越远，跨NUMA内存访问的延时越大。应用程序运行时应减少跨NUMA访问内存。

2. 通过numactl将进程绑定到指定CPU核。
  通过numactl -C 0-15 top命令将进程“top”绑定到0~15 CPU核上执行。

3. 通过numastat查看当前NUMA节点的内存访问命中率。
可以通过numastat命令观察各个NUMA节点的状态。

  - numa_hit表示节点内CPU核访问本地内存的次数。
  - numa_miss表示节点内CPU核访问其他节点内存的次数。跨节点的内存访问会存在高延迟从而降低性能，因此，numa_miss的值应保持在较低范围，如果过高，则应当考虑将进程绑定到特定CPU核。
