我使用的是 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”,因此不包含在摘要行中。