CPU利用率低,但调度延迟高、负载高、iowait高的本质原因
--- #### **核心概念** 1. **CPU利用率**:CPU执行代码的时间占比(忙碌时间),不包括空闲或等待I/O的时间。 2. **调度延迟**:线程从就绪到实际获得CPU的时间,取决于运行队列长度和调度策略。 3. **Load(负载)**:系统中处于**可运行状态(R)**和**不可中断睡眠(D)**的进程数。 4. **iowait(%wa)**:CPU空闲且系统中有未完成I/O请求的时间占比(CPU被迫等待I/O)。 --- ### **三问题的串联解释** #### **1. 为什么CPU利用率低,但调度延迟高?** - **直接原因**:运行队列(Runqueue)堆积。 - **触发场景**: - **突发任务**:大量线程同时被唤醒(如定时任务、网络请求突发),排...阅读全文