美文网首页linux
Linux load average

Linux load average

作者: nlskyfree | 来源:发表于2018-08-24 22:47 被阅读14次

简介

使用top命令、uptime命令时,都会打印服务器的load average,代表Linux系统1分钟、5分钟、15分钟的负载情况,实际上,这些数据均来源于/proc/loadavg的前三个参数

什么是load average?

参考Linux官网说明http://man7.org/linux/man-pages/man5/proc.5.html
/proc/loadavg的前三个参数分别代表,最近1分钟、5分钟、15分钟处于状态R与状态D进程或线程平均值
状态R:Running or runnable (on run queue)
状态D:Uninterruptible sleep (usually IO)

即:处于运行中、在运行队列中、处于不可中断等待状态中的线程进程平均值

测试

环境说明:
1个物理CPU,6个核心,无超线程物理机进行测试,运行足够长时间

空载情况下
1进程死循环
2进程死循环
1进程等待IO,1进程死循环
10线程死循环

这里特别说明下:linux官网对/proc/loadavg第四个参数描述不正确,官网描述会小于CPU个数,而实际上等于任务数,超过CPU个数

结论

  • 当系统中不存在IO等待的情况下,load average等于CPU逻辑核心数时,说明已经满载,超过时代表任务需要排队
  • 当系统中出现大量等待IO的情况下,load average失去意义,此时无法判断是CPU负载高还是IO设备出现瓶颈

相关文章

网友评论

    本文标题:Linux load average

    本文链接:https://www.haomeiwen.com/subject/rzziiftx.html