我使用“htop”来监控我的 Web 服务器。它最近负载很重,平均负载显示如下:
平均负载:3.10 2.56 1.63
我在网上搜索了这些数字,并找到了一篇关于它的文章:http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
文章中说,如果我有 2 个 CPU,2.0 意味着 100% 的 CPU 利用率。
而且我的 VPS 是两颗 CPU,那么 3.1 代表什么意思呢?CPU 利用率怎么会超过 100%?
从这些数字来看,是不是意味着我现在应该对负载保持警惕?但性能似乎完全没问题,而且这是一个托管 VPS,托管公司没有通知我任何警告。
在白天,平均负载总是显示这些高数字...这是写入时的另一个快照。
平均负载:3.03 2.77 1.97
平均负载:0.41 1.29 1.60 <---- 5分钟后
所以我想知道在目前的配置下,这个网站还有多少发展空间?我应该提前采取哪些主动行动?
我不想等到服务器崩溃。
谢谢。
答案1
3.1 表示平均有 3.1 个进程正在使用 CPU、正在等待 CPU 或正在等待 I/O 完成。它不是 CPU 利用率的衡量标准,而是负载的衡量标准。
平均负载只是一条信息。它本身并不能真正告诉你很多信息。让称职的服务器管理员分析服务器的行为,以评估它处理给定负载的能力。
答案2
您可以采取的最佳主动措施是安装监控/绘图工具,如 Cacti、Zabbix、Nagios、Munin 或 Observium。(还有其他选择。)
跟踪平均负载、CPU 利用率、I/O 统计信息、内存使用情况、每秒 HTTP 请求数以及您能想到的任何其他信息。借助这些图表,您通常能够预测停机并在停机发生之前予以预防。
大多数工具还会提供阈值警报,例如“剩余磁盘空间少于 5%”,这可以让您快速找到停机的根源。
如果您只有一个盒子,这些工具的效果就会降低。