load average: 20.62, 18.83, 11.31
Run Code Online (Sandbox Code Playgroud)
这是四核处理器上的平均负载。我正在运行的程序不仅占用 CPU,还占用其他资源。
如何仅使用 CPU 显示此类数字?
您的问题:在这种情况下如何计算平均负载?
答:这三位数字是不同时间序列(1、5 和 15 分钟)的指数阻尼移动平均线。此计算基于放置在处理器队列中的进程,而不是基于实际 CPU 使用率,所有这些都习惯于以百分比形式查看(如在 Windows 中)
但我认为这不是您想了解当前系统中发生的事情的答案。
平均负载反映“系统”负载,即考虑 CPU 负载和 I/O 等待。这是最常见的参数,您需要从中开始进行性能问题故障排除。使用不同的指标(磁盘负载)和工具(例如来自 sysstat 包的 iostat)来分析系统性能。
你的问题的第二个答案:
计算 CPU 利用率使用
grep 'cpu ' /proc/stat | awk '{usage=100-($5*100)/($2+$3+$4+$5+$6+$7+$8)} END {print usage}'
Run Code Online (Sandbox Code Playgroud)
我强烈建议使用监控系统(例如 Zabbix)来