w
w的结果包含服务器运行时间,当前用户及其运行的程序,以及1,5,15分钟的平均负载
[root@mio-254 ~]# w 14:00:07 up 13 days, 17:18, 2 users, load average: 0.08, 0.02, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/7 192.168.1.102 12:19 1:37m 0.00s 0.00s -bash root pts/8 192.168.1.100 14:00 0.00s 0.01s 0.00s w
简单的说,linux会每5秒统计一次当前正运行的任务数和正在等待磁盘的I/O任务,然后没1,5,15分钟计算一次平均值,这就是平均负载
如果是多CPU服务器,那么linux会先对每个CPU进行平均负载计算,然后求和
在单核时代,关于平均负载,有三条注明的经验准则
敬请关注法则(Need to Look init it):0.7
如果平均负载大于0.7,那么趁事情还没变得糟糕,赶紧查原因吧
立刻修复法则(Fix this now):1.0
要是负载已经高过1.0了,立马就扔掉其他事情先找到这个问题并修复好,否则,没准今晚你就会报警叫起来干活了
半夜3点法则,(it`s 3AM WTF?)
如果负载超过5.0,你的机器随时都可能挂掉
到了多核时代,这三个数据可以乘以CPU核心个数,注意linux计算时,并不会区分服务器上是几处理器,所有又有两条新准则
核心数=最大复杂 法则(number of cores = max load)
多核系统上,负载不要高于核心数量
什么核心都是核心(core is cores)
核心的类型并不重要,4核双线程和8核单线程同样视为8核