为什么“不间断睡眠”不算作“空闲”?

twi*_*imo 6 process top load

当我运行时top -bi,参数 -i 表示“忽略空闲进程”,进程的结果列表(见下文)是 R 或 D,尽管当时有 S 个进程。

那么,为什么不间断的睡眠不算作“空闲”呢?而且,似乎“平均负载”等于 R 进程的数量加上 D 进程的数量?

top - 17:47:44 up 141 days, 14:29,  2 users,  load average: 4.10, 4.18, 4.17
Tasks: 224 total,   1 running, 223 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.4%sy,  0.0%ni, 87.2%id, 12.3%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16432240k total, 16345816k used,    86424k free,  4934652k buffers
Swap: 16386292k total,     6996k used, 16379296k free,    71432k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                             
7479 root      18   0 1357m 1.1g  904 D    1  7.0  10:27.86 rsync                                                               
7463 root      18   0 1315m 1.0g  840 D    1  6.6   9:45.83 rsync                                                               
7469 root      18   0 1088m 889m  840 D    0  5.5   8:10.20 rsync                                                               
7524 root      18   0 1106m 895m  840 D    0  5.6   8:13.60 rsync                                                               
30958 root      15   0 12720 1148  788 R    0  0.0   0:01.07 top
Run Code Online (Sandbox Code Playgroud)

Den*_*ker 1

因为“不间断的睡眠”并不意味着空闲或睡觉。手册页ps已经对此进行了解释:通常是 IO,在 rsync 的情况下这并不奇怪。