最近公司面试系统管理员的时候同事经常会问一个问题,linux中uptime命令输出的结果应该怎么理解?

[root@tianjing-ops ~]# uptime
21:32:53 up 13 days, 7:28, 1 user, load average: 0.08, 0.04, 0.00
前面是时间、用户数,这个比较好理解,主要是后面的load average,大部分人都只能解释为1分钟、5分钟、15分钟的平均负载,再往下就说不清楚了。

我也不知道该怎么清楚的描述这个问题,前段时间看过一篇解释load average的文章,感觉写得很清晰,load average和cpu的任务队列有关。可惜当时没有保存下来,以后找到了再贴出来吧。

翻了很多相关文章,大概得出了一个经验的说法:

1. 1分钟、5分钟的load average不必在意

2. 15分钟的load average 应该小于cpu的core数+1,(也有人说小于cpu的core的3倍都是可以接受的,我还是希望保守一点儿)

3. 如果服务器IO wait很高的话会导致load average飙升

4. load average不能准确的描述服务器的负载情况,还需要配合其他的工具来检查系统的瓶颈在哪里(比如磁盘IO,内存等。)