平均负载(load average)

小天天天天    服务器    999+ 次    2023-04-25 12:00:01


一、平均负载基本概念
平均负载是指单位时间内,系统处于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直接找到对应进程。


如果你觉得本篇文章对您有帮助,请打赏作者

上一篇: 微信小程序数字键盘

下一篇: 原生小程序左右滑动切换页面事件

最新评论

暂无评论

热门文章

最新评论

网站数据

网站文章数:483

今日UV/PV/IP:6/6/6

昨日UV/PV/IP:19/22 /19

TOP