Load average(下面用 load avg 代替)用来表示进程对系统资源的需求情况 在 Linux 上计算 load avg 的时候包含了 Runnable/Running(R 状态)和 Sleeping Uninterruptible(D 状态)的进程.
每个进程占用 CPU 的时间是有限的,当前未能占用的进程会被安排在 run queue 里等待 CPU 的下一次调度. load avg 的值反映了 run queue 中等待 CPU 的进程数量情况.进程越多,load avg 值越大.
根据wikipedia的介绍,run queue 有两种模型:
- 每个 CPU 有一个 run queue
- 只有 1 个 run queue
我的问题是
- 怎么去判断自己的 Linux 机器是采用哪种 run queue 模型?
- 如果是每个 CPU 一个 run queue, 用什么命令 /方式去查看每个 CPU 的 run queue 情况呢?