它是关于 procps
包,用于 linux 的实用程序 ps
。
能否打印每个进程(线程)最后使用的CPU数量?
更新:不是 CPU 时间(10 秒),而是 CPU 编号(CPU0、CPU5、CPU123)
最佳答案
ps(1) 手册页说您可以使用 psr
字段:
psr PSR processor that process is currently assigned to.
$ ps -o pid,psr,comm
PID PSR COMMAND
7871 1 bash
9953 3 ps
或者你可以使用 cpuid
字段,它做同样的事情。
$ ps -o pid,cpuid,comm
PID CPUID COMMAND
7871 1 bash
10746 3 ps
两个名称的原因是为了与 Solaris 兼容(psr
) 和 NetBSD/OpenBSD (cpuid
).
要也获取线程,请添加 -L
选项(如果您使用 -o
,则添加 lwp
字段)。
没有线程:
$ ps -U $USER -o pid,psr,comm | egrep 'chromi|PID' | head -4
PID PSR COMMAND
6457 3 chromium-browse
6459 0 chromium-browse
6461 2 chromium-browse
有线程:
$ ps -U $USER -L -o pid,lwp,psr,comm | egrep 'chromi|PID' | head -4
PID LWP PSR COMMAND
6457 6457 3 chromium-browse
6457 6464 1 chromium-browse
6457 6465 2 chromium-browse
还有一个未记录的 -P
选项,它将 psr
添加到普通字段:
$ ps -U $USER -LP | egrep 'chromi|PID' | head -4
PID LWP PSR TTY TIME CMD
6457 6457 3 ? 00:01:19 chromium-browse
6457 6464 1 ? 00:00:00 chromium-browse
6457 6465 2 ? 00:00:00 chromium-browse
关于linux - linux 中的 ps 实用程序 (procps),如何检查使用了哪个 CPU,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5732192/