一. 简介
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 单核
- 如果负载为 0.7, 并且长时间大于 0.7(观察前 5 分钟、 15 分钟数据), 那么需要去调查一下原因, 以免进一步恶化
- 如果负载为 1, 并且长时间大于 1, 需要立刻发现问题并修复它
- 如果负载为 5, 并且长时间大于 5, 整个系统会慢下来, 页面加载不出来, 等严重问题出现
如果是多 CPU 多核, 依此类推, 当 load average 达到总核数的时候, SA(System Administration)应该会提示报警, 研发人员就要去定位问题, 解决问题。
四. 指标高的可能原因
- 并发数高
- 一些耗时的操作占用 CPU(注意缓存是否到位)
五. 参考资料
wiki: https://en.wikipedia.org/wiki/Load_(computing)
时间: 2024-10-30 16:08:06