user271967 Asked: 2018-01-29 17:29:32 +0800 CST2018-01-29 17:29:32 +0800 CST 2018-01-29 17:29:32 +0800 CST 为什么“top”命令输出中列出的总任务不等于运行+睡眠? 772 我正在使用 Debian Linux 操作系统。我是唯一的系统管理员。 当我在终端中运行 top 命令时,第二行总是显示任务总数与运行和睡眠任务的组合数之间的差异。例如: 任务:共 138 个,运行 1 个,睡眠 92 个,停止 0 个,僵尸 0 个 它可能最近才开始;我不记得以前发生过。那么我的问题是:什么可能导致这种情况发生?有什么理由担心吗?当事情没有加起来时,我不喜欢它!提前致谢。 linux top 1 个回答 Voted Best Answer ErikF 2018-01-29T17:55:46+08:002018-01-29T17:55:46+08:00 您看到的问题是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”,因此不包含在摘要行中。
您看到的问题是
top
不会报告所有状态,而只会报告较大列表中的选定数字。除了“运行”和“睡眠”之外,还有更多的进程状态(请参见此处的列表;还有“I”表示空闲。)top
这是我的服务器输出的部分视图:如您所见,有许多任务既不是“R”、“S”、“T”也不是“Z”,因此不包含在摘要行中。