当我使用 监控我的系统时htop
,大多数负载下的进程的进程状态列大部分为 ,有时S
会切换到R
。根据我对文档的理解,状态S
表示进程正在休眠,而 表示进程R
正在运行。但是,休眠进程如何像我在下面的屏幕截图中看到的那样消耗大量 CPU?我本来预计负载为0
这些进程的负载大部分时间是 。
我怀疑存在I/O
瓶颈,因此让相当多的休眠进程等待I/O
是合理的。但在这种情况下,我不明白休眠进程的 CPU 负载为何这么高。这可能是由于多次上下文切换造成的,因为I/O
无法提供合理的吞吐量,但经常提供很少的数据?这意味着在等待所有进程时,CPU 无法用于其他用途I/O
无法提供合理的吞吐量,但经常提供很少的数据?这意味着在等待所有进程成功
或者可能只是显示问题,因为等待I/O
需要以某种方式显示,并且是就负载而言,但实际上这些进程不消耗任何 CPU?在这种情况下,CPU 将根据需要用于实际处理事情。
谢谢您的见解!