wdcp-apache配置錯誤導致進程淤積進而內存喫緊

內存總是越來越少,虛擬內存使用越來越多

首先確定到底是什麼佔用了大量的內存

可以看到,大部分內存被閒置的httpd進程佔用


且當我重啓mysql服務後,內存沒有出現明顯變化,但是當我重啓apache時,內存佔用從2G瞬間下降到300M。由此可見,大量佔用內存的就是閒置的httpd進程所致

於是上網查找了原因,原來是wdcp面板的apache配置不合理所致

vim /www/wdlinux/httpd-2.2.22/conf/httpd-wdl.conf 看到如下代碼


不合理的地方在於MaxClients和MaxRequestsPerChild。 

MaxClients指定的是可以啓動的APACHE進程數量上限,對於小內存的主機,這個設置(1024個)很容易把內存用光。 
MaxRequestsPerChild指定的是每個APACHE進程可以處理的最多請求次數,達到次數之後這個進程就會退出,然後重新開啓新的進程。這一點的意義在於,進程會出現內存泄露的問題,就是進程使用的內存會越來越多,越來越多,越來越多,越來越多,無法釋放。設置MaxRequestsPerChild後,進程重啓動則可以解決。而WDCP中設置的爲0,0的意思爲,永不退出。 

prefork調優,修改爲



修改完成後,保存

經多番測試,服務器內存使用被穩定在以下情況



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章