根据 procfs 人
/proc/[pid]/stat (39) processor %d (since Linux 2.2.8) CPU number last executed on.
我可以看到,-1
有些任务是有价值的
$ cat /proc/1185/task/1283/stat | awk '{print $39}'
-1
或者
$ cat /proc/1283/stat | awk '{print $39}'
-1
3
此主题的热门节目。 (在线程模式下并选择 P = 最后使用的 Cpu (SMP) 字段)
这-1
意味着什么,它对应哪个处理器编号?
另外,为什么这个数字有时会大于现有的CPU,
$ cat /proc/1800/stat | awk '{print $39}'
17
$ cat /sys/devices/system/cpu/online
0-15
$ ps -eLo pid,psr | grep 1800
1800 14
/proc/[pid[/stat 文件中的 (39) 处理器到底代表什么?
似乎缺乏文档。
答案1
这是我愚蠢的错误
我在这里添加而不是删除,以防有人也犯这个错误
comm %s The filename of the executable, in parentheses. This is visible whether or not the executable is swapped out.
如果 comm 有空格,则字段数不同,并且第 39 个字段不会保留为被空格分割的第 39 个字段。