1)load average的结论
a)平均负载怎么样才算高?
结论:高低与否,跟cpu核数有关系
a.单核 过去1分钟,5分钟,15分钟的平均负载>10 高
b.24核 过去1分钟,5分钟,15分钟的平均负载>10,且小于24 不高
如何计算高与不高,结合系数
系数
<1核数 load不高
1核数, 3核数, load高不高,不好说,要进一步监控分析(看cpu占比,看进程)
>5*核数, load高
b)平均负载高,就一定cpu占用高吗?不一定
CPU 密集型进程,是的,平均负载高,就一定cpu占用高(计算,运算,统计,加密,任务复杂,)
I/O 密集型不一定平均负载高,就cpu占用高(没有复杂的计算运算,所以不一定)【进程多,请求多,都在读和写,任务不复杂】
c)cpu占用高,就一定平均负载高吗?不一定
cpu占用高,不一定平均负载高:一个java进程,占了90%,8核,平均负载可能就是1
CPU 密集型进程,占比高,且进程多,所以:cpu占用高,可能平均负载高
d)平均负载高有哪些原因造成?(重点)
a.load average高只能推倒出进程太多,应用,cpu密集型的进程导致,(计算,统计)任务太多,cpu满负荷,,进一步要看top,哪个进程造成的
b.有可能I/O繁忙(读或者写,可能是web应用,请求多,读,写数据)多关注D(不可中断的睡眠状态)状态的进程(vmstat b列的等待资源的进程,进一步监控IO使用率,繁忙程度,iotop,dstat,sar -d等)