Linux性能优化-平均负载

  • Post author:
  • Post category:linux


uptime的平均负载意思是

单位时间内,系统处于 可运行状态 和 不可中断状态的平均进程数,也就是平均活跃进程数

当一个进程向磁盘读写数据时,为保证一致性,在得到磁盘回复前,他是不能被其他进程或中断打断的,如果被中断就容易出现数据与进程数据不一致的问题

不可中断实际上是系统对进程和硬件设备的一种保护机制

当平均负载为2时

如果只有2个CPU就表示全部被占用

在4个CPU上,意味着有50%的空闲

在1个CPU上意味着有一半的进程竞争不到CPU

通过top或者 /proc/cpuinfo 查看CPU个数决定负载大小

uptime的1分钟,5分钟,15分钟负载值

如果是1.73,0.6,7.98

表示最近一分钟负载是173%,5分钟是60%,15分钟内是798%

从整体看负载在降低

当平均负载高于CPU数量70%的时候,就应该分析排查负载高的问题了

一旦负载过高,就可能导致进程响应变慢,进而影响服务的正常运行


CPU使用率是单位时间内CPU繁忙的情况,跟平均负载并不一定完全对应

1.CPU密集型进程,大量CPU导致平均负载升高,这两者是一致的

2.I/O密集型,等待I/O也会导致平均负载升高,但CPU使用率不一定很高

3.大量等待CPU的进程调度也会导致平均负载升高,此时的CPU使用率也会比较高

平均负载提供了一个快速查看系统整体性能的手段,反应了整体的负载情况,但只看平均负载本身并能直接发现问题,需要注意

1.平均负载高可能是CPU密集型进程导致的

2.平均负载高并不一定代表CPU使用率搞,还可能是I/O更繁忙了

3.当发现负载较高的时候,可以使用mpstat,pidstat等工具辅助分析负载情况



版权声明:本文为hixiaoxiaoniao原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。