在Linux系统中,可以通过以下几种方法查看进程运行在哪个CPU核心上:
top
命令top
命令f
进入字段选择界面P
(最后使用的CPU核心)q
返回htop
命令(需安装)sudo apt install htop
(Ubuntu/Debian) 或 sudo yum install htop
(CentOS/RHEL)htop
CPU
列ps
命令ps -eo pid,psr,comm | grep 进程名
或查看特定进程:
ps -o psr -p 进程PID
其中 PSR
列显示的就是当前运行的CPU核心编号(从0开始)
taskset
命令taskset -pc 进程PID
输出示例:
pid 1234's current affinity list: 0-3
这表示进程可以在CPU 0-3上运行,但不会显示当前正在使用哪个核心
/proc
文件系统cat /proc/进程PID/status | grep Cpus_allowed
或更详细的信息:
cat /proc/进程PID/stat
第39个字段就是最后运行的CPU核心编号(从0开始)
mpstat
命令(查看所有CPU核心的使用情况)mpstat -P ALL 1
taskset
或 cpuset
命令这些方法可以帮助你确定进程当前运行在哪个CPU核心上,以及它被允许在哪些核心上运行。