为什么“top”命令输出中列出的总任务不等于运行 + 睡眠?

为什么“top”命令输出中列出的总任务不等于运行 + 睡眠?

我使用的是 Debian Linux 操作系统。我是唯一的系统管理员。

当我在终端中运行 top 命令时,第二行始终显示任务总数与正在运行和休眠的任务总数之间存在差异。例如:

任务:总共 138 个,1 个正在运行,92 个正在睡觉,0 个停止,0 个僵尸

它可能是最近才开始的;我不记得以前发生过这样的事。那么我的问题是:什么可能导致这种情况发生?有什么理由担心吗?我不喜欢事情不合时宜!提前致谢。

答案1

您看到的问题是top不会报告所有状态,而只会报告较大列表中的选定数字。有比“运行”和“睡眠”更多的进程状态(请参见这里获取列表;还有“I”表示空闲。)

top这是我的服务器输出的部分视图:

top - 18:49:06 up 10 days, 16:58,  1 user,  load average: 0.19, 0.30, 0.68
Tasks: 129 total,   1 running,  79 sleeping,   0 stopped,   0 zombie
%Cpu(s):  6.1 us,  5.4 sy,  0.0 ni, 84.8 id,  3.7 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3966804 total,   130824 free,  1068132 used,  2767848 buff/cache
KiB Swap:  8388604 total,  8324092 free,    64512 used.  2606136 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1805 qemu      20   0 2353576 845320   3316 S  23.8 21.3   3630:31 /usr/bin/qemu-system-x86_64 -name guest=data,debug-threads=on -S -obje+
 4216 root      20   0   34460   3632   3020 R   0.7  0.1   0:00.03 top
 1752 root      20   0       0      0      0 D   0.3  0.0  26:14.69 [nfsd]
 3889 root      20   0       0      0      0 I   0.3  0.0   0:01.32 [kworker/1:2]
    1 root      20   0  131540   5244   3208 S   0.0  0.1   0:07.51 /lib/systemd/systemd --system --deserialize 38
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.04 [kthreadd]
    4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 [kworker/0:0H]
    6 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 [mm_percpu_wq]
    7 root      20   0       0      0      0 S   0.0  0.0   0:30.18 [ksoftirqd/0]
    8 root      20   0       0      0      0 I   0.0  0.0   3:33.09 [rcu_sched]
    9 root      20   0       0      0      0 I   0.0  0.0   0:00.03 [rcu_bh]
   10 root      rt   0       0      0      0 S   0.0  0.0   0:01.23 [migration/0]
   11 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [cpuhp/0]
   12 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [cpuhp/1]
   13 root      rt   0       0      0      0 S   0.0  0.0   0:01.20 [migration/1]
   14 root      20   0       0      0      0 S   0.0  0.0   0:27.28 [ksoftirqd/1]
   16 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 [kworker/1:0H]
   17 root      20   0       0      0      0 S   0.0  0.0   0:00.00 [kdevtmpfs]
   18 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 [netns]

正如您所看到的,有许多任务既不是“R”、“S”、“T”也不是“Z”,因此不包含在摘要行中。

相关内容