我在我的 Linux 机器上遇到了一个奇怪的问题。我使用 6 个 CPU,12 个超线程。顶部摘要选项卡显示 90% 空闲。对于 12 个线程,1200% 应该是最大使用率。对于 90% 空闲的单个进程,其使用率合计不应超过 100%。但我有许多进程报告接近 100%,如下所示。是否因为空闲使用量来自内核空闲线程 jiffies,而单个进程使用量来自 /proc,其中它依赖于子进程完成?
以下是顶部输出
top - 01:35:46 up 20:07, 3 users, load average: 3.14, 2.05, 1.84
Tasks: 423 total, 6 running, 416 sleeping, 0 stopped, 1 zombie
%Cpu(s): 5.3 us, 4.2 sy, 0.0 ni, 89.7 id, 0.1 wa, 0.5 hi, 0.3 si, 0.0 st
KiB Mem : 65354616 total, 31564688 free, 10397548 used, 23392380 buff/cache
KiB Swap: 4194300 total, 4194300 free, 0 used. 53570652 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18038 root 20 0 6631168 707068 412072 R 106.2 1.1 3:01.12 Process1
27399 root 20 0 3127992 853740 397052 R 106.2 1.3 0:03.34 Process2
13572 root 20 0 2289344 857832 89620 R 100.0 1.3 0:37.95 Process3
11386 root 20 0 6653276 1.113g 615792 R 93.8 1.8 3:44.04 Process4
13568 root 20 0 6241660 838040 408984 R 93.8 1.3 0:42.94 Process5
10344 root 20 0 6387436 1.008g 396800 S 68.8 1.6 5:27.98 Process6
14899 root 20 0 5668692 473040 458768 S 62.5 0.7 3:11.54 Process7
13100 root 20 0 6288300 915164 386776 S 12.5 1.4 3:20.63 Process8