Linux 绑定 CPU 运行指定进程前言
我最近在arm上测试了一些节点的性能,发现节点的性能变化很大,尤其是有其他高消耗资源的时候,性能会变得相当不稳定,所以怀疑是多个进程正在竞争一个 CPU 资源,导致节点性能变化过大。
如何查看Linux内核数
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l

如何绑定CPU
这里我们要讲的是linux中的taskset命令。通过这个命令,我们可以直接绑定一个启动的进程在某个核上运行。首先taskset最基本的绑定方法是:
# cpu-list可以是0,1这样的一个核,也可以是1-2这样的,表示绑定在1和2上面
# pid 表示进程号
taskset -cp cpu-list pid

例如:
taskset -cp 1-3 1927
该命令表示将进程号为 1927 的进程绑定到内核 1、2 和 3。
如何确认绑定成功
这时候可以使用top命令查看。先执行top命令,可以看到对应的资源消耗,然后按F,选择Last Used CPU,然后就可以用空格选择了。
然后再次按ECS返回正常的Top界面。此时,您可以看到这些进程在哪些内核上运行。如果Last Used CPU保持不变,则绑定成功。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shoujiruanjian/article-379243-1.html
只能美国一家在表演
打
炒股票的钱永远都是进了印股票人的腰包