Linux 性能监控 —— Load Average

一. 简介
top、 uptime、 cat /proc/loadavg 命令中 Load average: 4.90, 5.51, 5.77       
总体含义: 正在运行的任务数量 + 排队的任务数量
第一个数字例如上述的 4.90 代表上 1 分钟的数据
第二个数字例如上述的 5.51 代表前 5 分钟的数据
第三个数字例如上述的 5.77 代表前 15 分钟的数据


二. 多核和多 CPU 的区别
1 个 CPU 单核系统 Load average:1 表示有 1 个正在运行任务, 1 个 CPU 双核系统 Load average:2 表示有 2 个正在运行任务

负载能力:  2 个 CPU 单核 = 1 CPU 双核、 1 个 CPU 4 核 = 2 CPU 双核 (总核数相等则负载能力相近)


三. 如何反映性能问题
假设系统是 1 个 CPU 单核

  1. 如果负载为 0.7, 并且长时间大于 0.7(观察前 5 分钟、 15 分钟数据), 那么需要去调查一下原因, 以免进一步恶化 

  1. 如果负载为 1, 并且长时间大于 1, 需要立刻发现问题并修复它

  1. 如果负载为 5, 并且长时间大于 5, 整个系统会慢下来, 页面加载不出来, 等严重问题出现

如果是多 CPU 多核, 依此类推, 当 load average 达到总核数的时候, SA(System Administration)应该会提示报警, 研发人员就要去定位问题, 解决问题。 


四. 指标高的可能原因
  1. 并发数高
  2. 一些耗时的操作占用 CPU(注意缓存是否到位)


五. 参考资料
wiki:  https://en.wikipedia.org/wiki/Load_(computing)

你可能感兴趣的:(linux,top,load,负载,性能监控,average)