Java教程

平均负载(load average)

本文主要是介绍平均负载(load average),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

  一、平均负载基本概念

        平均负载是指单位时间内,系统处于R状态与D状态的平均进程数,与cpu使用率无关,进程状态可使用ps -aux查看。

        平均负载理想状态下等于cpu个数,cpu个数可通过cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l 查看,例如在2个cpu的机器上,平均负载为1,那么cpu有50%的空闲,当平均负载大于cpu个数时,表示系统出现过载,过载超过cpu数量70%时,需要排查负载过高问题。

         top命令中load average三个参数分别代表过去 1 分钟、5 分钟、15 分钟的平均负载。如果三个参数值差距不大,表示系统负载平稳,当1分钟的值比5分钟或15分钟的值小很多,表示最近1分钟负载减少,反之表示最近1分钟负载增加        

二、平均负载案例

1.cpu密集型

        可通过stress工具使用stress --cpu 1 --timeout 300命令模拟cpu使用率100%场景,top或pidstat -u 2 10查看平均负载及cpu占用情况。

2.io密集型

        stress -i 1 --timeout 300 模拟io密集型进程,top查看平均负载,io使用率需通过mpstat -P ALL 5 10(5秒统计一次,统计10次)查看。

当iowait较高时使用pidstat -d 2 10找到对应进程。

3.大量进程

stress -c 8 --timeout 600模拟8个进程,top或pidstat -u 2 10查看平均负载以及进程占用情况。

三、总结

        当服务器响应缓慢时可先通过top或pidstat -u 2 10查看cpu以及平均负载情况,对于cpu占用不高,但平均负载较高情况,考虑是否io密集型应用导致,可通过mpstat -P ALL 5 10查看io使用率,也可通过pidstat -d 2 10直接找到对应进程。

-bash: mpstat: command not found 可通过 yum -y install sysstat安装

stress使用:https://blog.csdn.net/shaofei_huai/article/details/118528252

 

这篇关于平均负载(load average)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!