Linux判断进程运行在哪个CPU核上
方法1:taskset命令
判断进程被绑定在哪个或哪些CPU核上,可以使用以下命令:
- snippet.bash
taskset -c -p <pid>
注:显示的CPU核编号从0开始。
例如,
- snippet.bash
[yz@test-4 yz]$ taskset -c -p 980978 pid 980978's current affinity list: 0,2-63 [yz@test-4 yz]$ taskset -c -p 981996 pid 981996's current affinity list: 1
方法2:ps命令
ps命令的PSR可以看出进程当前运行在哪个核上,命令格式:
- snippet.bash
ps -o pid,psr,comm -p <pid>
注:显示的CPU核编号从0开始。
例如,
- snippet.bash
[yz@test-4 yz]$ ps -o pid,psr,comm -p 980978 PID PSR COMMAND 980978 27 postgresql [yz@test-4 yz]$ ps -o pid,psr,comm -p 981996 PID PSR COMMAND 981996 1 postgresql
方法3:top命令
如果需要持续监视,可以使用top命令。步骤如下:
- 运行top。
- 按“F”键。
- 上下键选中“P”,按“空格”键选中。可以使用“→”键选中以调整顺序,然后按“↑ ↓”键调整顺序。
- 按“Q”键退出选择。
效果:
注:显示的CPU核编号从0开始。
方法4:htop命令
也可以使用htop命令持续监视。步骤如下:
- 运行htop。
- 按“F2”键。
- 选择“Columns”,增加“PROCESSOR”列。
- 按“F10”保存设置,退出。
这样就增加了“CPU”列,效果:
注:显示的CPU核编号从1开始。
参考
打赏作者以资鼓励: