判断Linux进程在哪个CPU核运行的方法
问题:有一个Linux进程运行在多核处理器系统上,如何查看该进程运行在哪个CPU上?
方法一:
ps 命令可以告诉你每个进程/线程目前分配到的(在“PSR”列)CPU ID。
ps -o pid,psr,comm -p <pid>
运行结果:
PID PSR COMM
5357 10 prog
输出表示进程的 PID 为 5357(名为”prog”)目前在编号为 10的CPU 上运行着。如果该过程没有被固定,PSR 列会根据内核可能调度该进程到不同CPU而改变显示。
方法二:
top 命令也可以显示CPU被分配给哪个进程。首先,在top命令中使用"P"选项。然后,按“F”键,显示中会出现“Last used CPU”列。目前使用的CPU将出现在"P"(或“PSR”)列下。
步骤如下:
1、top -p 3393
2、按下 “F”键
3、使用上下键选择P = Last Used Cpu,并按下空格键,出现 “*”即可
4、按下“Q”键
相比于ps命令,使用top命令的好处是:你可以连续监视随着时间的改变,CPU是如何分配的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步