1:按照网上说的,这种情况很有可能下面的情况
等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低。
使用“iostat -txk 1”或者“sar -d 1”(每个一秒采样)来查看:
io阻塞会让出cpu,如果大多数的进程都在阻塞,那么会造成太多的上下文切换,这种切换消耗了cpu的时间,但是没有真正的执行任务!
根据load的官方解释:
System load averages is the average number of processes that are either in a runnable or uninterruptable state. A process in a
runnable state is either using the CPU or waiting to use the CPU.
进程状态切换图如下
官方解释中提到的uninterruptable state,就是处于 uninterruptible sleep 状态的进程通常是在等待 IO,比如磁盘 IO,网络 IO,其他外设 IO, 这种状态在linux中用D表示,ps 可看到。
@hxx为什么说是不可打断的状态,因为在这种状态下的进行,无法用kill -9 发送信号来中断,只能重启ÿ