它是关于procps包的,实用程序ps for linux。
它能打印出每个进程(线程)上一次使用的CPU数量吗?
更新:不是CPU时间(10秒),而是CPU编号(CPU0、CPU5、CPU123)
发布于 2011-04-20 22:49:57
多个处理器中的哪一个?根据手册页,它没有提供这方面的选项。但在我的Debian稳定系统上,它接受未记录的-o cpu。
在查看了ps L的源代码和输出之后,我相信您的答案要么是cpuid,要么是sgi_p输出选项,分别是列is和P。
和'cpu‘应该根据output.c中的注释工作,但它当前绑定到'nop’输出pr_nop():
{"cpu", "CPU", pr_nop, sr_nop, 3, 0, BSD, AN|RIGHT}, /* FIXME ... HP-UX wants this as the CPU number for SMP? */
发布于 2011-04-21 05:31:42
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发布于 2011-04-21 05:40:13
同样被低估的还有:
mpstat -I ALL 1 | less -SRhttps://stackoverflow.com/questions/5732192
复制相似问题