/proc/[pid[/stat 文件中的 (39) 处理器代表什么?

/proc/[pid[/stat 文件中的 (39) 处理器代表什么?

根据 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 个字段。

相关内容