查看linux系统性能的时候,会涉及到一个参数loadavg。那loadavg确切的含义是什么呢?
loadavg可以通过/proc/loadavg获得,我们man一下proc。其中对loadavg的描述如下:
loadavg
The load average numbers give the number of jobs in the run
queue (state R) or waiting for disk I/O (state D) averaged over
1, 5, and 15 minutes. They are the same as the load average
numbers given by uptime(1) and other programs.
简单的说,loadavg就是在queue(state R)或者等待disk IO(state D)的平均任务数。
loadavg更精确的含义在“
Linux的load average的含义”一文中有提及。loadavg一般是1分钟、5分钟和
15分钟的平均任务数,任务数的采集频率为5秒。再看文中引用的内核代码,实现比较复杂主要是由于内
核不支持浮点数的运算,而又需要保持一定的精度,还要考虑性能,因此做了些近似处理,具体原理可以
参见“
Linux中load值的定义”。
对于loadavg总结如下:
loadavg是1分、5分和15分钟的统计数据,采样频率为5秒;
loadavg表示的是平均任务数,这里的任务不只是在queue的任务,还有等待disk IO的任务。