Linux系统中的load average是SRE工程师经常关注的指标,也是SRE工程师在面试时候经常会被问到的问题,大家用它来判断CPU
的工作负载,一般这个值如果是CPU核心数的多倍时,我们就认为CPU负载很高,需要处理,这样的认识对吗?
结论:不完全对
。load average不仅体现CPU负载,磁盘I/O,内存不足都会造成该值上升。
该数据来源是计算CPU的内核态线程量(等价用户态进程量)(这里是我自己综合看各路资料总结,待确认),不仅包括了nr_running状态,还包括了nr_uninterruptible状态的线程,后者是会被I/O、内存资源关联影响的。
也就是说,I/O和内存的不足,也会造成load average增加。
https://zhuanlan.zhihu.com/p/75975041 | Linux Load Averages:什么是平均负载?https://github.com/torvalds/linux/blob/master/kernel/sched/loadavg.c | Linux相关内核源码https://cloud.tencent.com/developer/article/1087424 | linuxload average详细分析
http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html | Linux Load Averages: Solving the Mystery
https://blog.csdn.net/dog250/article/details/107792805 | Linux系统load average异常值处理的trick
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。