我的服务器出现负载问题,尽管我是一位经验丰富的 Linux 管理员,但我现在已经没有想法了。
问题是服务器上的负载缓慢但稳定地增加,没有任何明显的原因。
服务器是带有 6GB RAM 的 AMD Athlon(tm) 64 X2 双核处理器 6000+。它运行带有 Linux gir 2.6.26-2-amd64 #1 SMP Wed Aug 19 22:33:18 UTC 2009 x86_64 GNU/Linux 的 Debian Stable。
该服务器基本上运行 Lighttpd、几个 FastCGI PHP 进程和一个 MySQL 数据库。典型的网络服务器任务。
CPU 永远不会真正用完,内存主要用于缓冲区和缓存,这很好。我试图重新启动各种服务,看看其中一个服务是否会再次减少负载,但没有运气。
以下是显示负载、CPU 和 IOStat 的图形:
所以,问题是:什么会导致负载缓慢但不断增加?我如何找出责任所在?
更新:我忘了提到,当我重新启动服务器时,负载将下降到 0.3 到 0.6 左右,并且在接下来的几周内将再次开始缓慢上升。
我找到了一个很好的提示来回答一个不同的问题。
查找状态为“D”的进程显示四个 PHP 进程似乎挂起很长一段时间,对应于负载曲线中的“步骤”:
#> ps aux | awk '$8 ~ /D/ { print $0 }'
wiki 6651 0.0 0.0 0 0 ? D Oct04 0:41 [php-cgi]
bugs 6731 0.0 0.0 0 0 ? D Oct27 0:14 [php-cgi]
manpages 7536 0.0 0.0 0 0 ? D Oct30 0:21 [php5-cgi]
wiki 23847 0.0 0.0 0 0 ? D Oct06 1:32 [php-cgi]
Run Code Online (Sandbox Code Playgroud)
所以这些似乎是问题所在。我现在需要找出这些进程何时挂起以及如何修复它。谢谢大家。
| 归档时间: |
|
| 查看次数: |
7390 次 |
| 最近记录: |