Linux load average

简介

使用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,以及其他类Unix的系统中,常用该系统正在进行的运算工作来衡量该系统的系统负荷(System ...
    铸剑陶钧阅读 7,530评论 0 1
  • 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个专业的 Linu...
    七寸知架构阅读 10,991评论 1 71
  • Basic CPU / Mem / Disk Info 1. CPU Cores 物理 CPU 的核数 ca...
    zpei0411阅读 12,303评论 0 6
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,665评论 9 468
  • 如果说有什么善用时间的法则,那么,只有一条,就是在当下完成,不等待,不眷恋,不慌张,不恐惧。只是活在当下全然的去做...
    WassailWang阅读 779评论 0 0