Linux:top 不显示/计算所有任务

Linux:top 不显示/计算所有任务

运行 top 我发现总任务数约为 81 (第 2 行):

top - 21:16:18 up 23 days,  1:47,  2 users,  load average: 0.06, 0.03, 0.01
Tasks:  81 total,   1 running,  55 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1008824k total,   606424k used,   402400k free,   164676k buffers
Swap:        0k total,        0k used,        0k free,   310044k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  SWAP COMMAND
    1 root      20   0 19692 2552 2220 S  0.0  0.3   0:04.54    0 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.00    0 kthreadd
    3 root      20   0     0    0    0 I  0.0  0.0   0:00.00    0 kworker/0:0
...

该行Tasks: 81 total, 1 running, 55 sleeping, 0 stopped, 0 zombie显示总共有 81 个,其中 1 个正在运行,55 个正在睡觉。其他的在哪里?

答案1

您可以执行以下操作来列出所有进程:

top -b -n1

在上文中,我们以批处理模式输出从顶部到显示的所有过程,这些过程来自 1 次迭代。

-b用于批处理模式

-n是在批处理模式下运行 top 的迭代次数


如果你只想要空闲进程,具体来说,你可以这样做:

top -b -n1 -i

-i是列出空闲进程



来自手册页

-b :批处理模式操作以批处理模式启动 top,这对于将 top 的输出发送到其他程序或文件非常有用。在此模式下,top 将不接受输入并运行,直到达到您使用“-n”命令行选项设置的迭代限制或被终止。

-n :迭代次数限制为:-n 数字指定 top 在结束之前应产生的最大迭代次数或帧数。

-我 :空闲进程切换 以最后记住的“i”状态反转开始。当此切换关闭时,自上次更新以来未使用任何 CPU 的任务将不会显示。有关此切换的更多信息,请参阅主题 4c。TASK ARE 命令、SIZE。

相关内容