linux - linux 中的 ps 实用程序 (procps),如何检查使用了哪个 CPU

标签 linux ps procps

它是关于 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/

相关文章:

c - 在 C 应用程序中挂载带有 ntfs-3g 的设备

linux - 如何将驱动程序与 USB 设备绑定(bind)?

linux - procps 导致堆栈崩溃

parsing - 解析 vmstat 输出的有效方法

linux - 基于列拆分文本文件

linux - 在 kubuntu 启动时打开 shell 并运行脚本

linux - 清理这个命令

linux - 如何在 Linux 中获取进程的进程树跟踪/日志?

linux - 如何根据执行时间过滤匹配进程?