Php
lighttpd 吃掉所有記憶體和 CPU
所以我的 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 中修復,可能是您的問題。