Php

lighttpd 吃掉所有記憶體和 CPU

  • June 16, 2011

所以我的 lighttpd 執行了一年多。兩天前我決定安裝 Wordpress 3.0.1(PHP 已經被其他工具使用)。

因此,經過幾個小時的很少點擊(我每天最多可能有 10 個獨立訪客),系統幾乎掛起,負載為 25-35,lighttpd 吃掉了所有 CPU 和 RAM(見top文章末尾)。

我讀過類似的問題,但似乎都不是這裡發生的問題。網路上的“解決方案”就像我安裝了一個 Wordpress 記憶體外掛(W3 Total Cache)。由於問題沒有在夜間發生,我認為這是問題所在。但是現在機器完全超載了,甚至 OOM Killer 也開始了。

lighttpd 重啟會有所幫助,但這不是真正的解決方案。

系統規格:

  • 英特爾賽揚 2Duo 2.2GHz
  • 4GB 記憶體
  • Debian 萊尼 5.0.6
  • 核心:2.6.26-2-amd64
  • 輕量級 1.4.19
  • MySQL 5.0.51a
  • PHP 5.2.6-1+lenny

更換硬體是不可能的,因為它是為低功耗而設計的家用伺服器。想法?提前致謝。

top - 10:34:04 up 19:03,  1 user,  load average: 25.98, 22.97, 12.51
Tasks: 155 total,  15 running, 140 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.5%us, 95.6%sy,  0.0%ni,  0.0%id,  3.6%wa,  0.0%hi,  0.3%si,  0.0%st
Mem:   4062488k total,  4039436k used,    23052k free,      264k buffers
Swap:   979956k total,   979956k used,        0k free,     3012k cached
 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                     
3648 debian-t  20   0  136m 6972  116 R    7  0.2  30:48.27 transmission-da                              
2569 root      20   0  196m  900  108 S    5  0.0   4:51.94 rsyslogd                                     
 316 munin     20   0 30592  548  136 D    4  0.0   0:04.68 sendmail                                     
3377 root      20   0 66292 6864  208 D    4  0.2   2:01.44 python                                       
3188 www-data  20   0 4074m 3.1g  124 R    4 81.2  12:20.23 lighttpd

編輯:我按照 LatinSuD 的建議安裝了一個臨時重啟腳本。所以可能明天我可以詳細說明該問題的間隔時間。

您可以更新到較新版本的 lighttpd 嗎?1.4.19 已經很老了(最新的 1.4 分支是 1.4.28)。我知道在該時間間隔內修復了許多記憶體洩漏。

http://redmine.lighttpd.net/projects/lighttpd/repository/entry/branches/lighttpd-1.4.x/NEWS

你是如何安裝 php 的?如果您使用的是 fastcgi,您是否啟動了太多工作程序?確保您沒有使用 mod_rewrite 做導致無限循環的問題。通常 lighttpd 會檢測到這些,但Bug 1775已在 1.4.20 中修復,可能是您的問題。

引用自:https://serverfault.com/questions/190834