Apache服務自動停止處理記錄

Windows下面部署Apache2.2+PHP5.4+Subversion 1.6.5,服務正常開啓,運行一段時間後,Apache服務就莫名其妙自動停了。

先查找Apache日誌看下報錯日誌:

Parent:child process exited with status 3 -- Aborting
 

再查一下系統日誌:

 

 重新啓動Apache,一切正常。

過了一天,Apache又掛了(⊙o⊙)…

同樣的報錯,百度下事件代碼,有人說是內存泄露導致的,那就試試唄

在httpd.conf中加這兩行代碼:

EnableMMAP off
EnableSendfile off
Win32DisableAcceptEx



同時調整了下Apache子進程的最高限制數量到150,防止內存溢出

BTW:通常在“Windows任務管理器-進程”中可以看到兩個apache.exe進程,一個是父進程、一個是子進程,父進程接到訪問請求 後,將請求交由子進程處理。MaxRequestsPerChild這個指令設定一個獨立的子進程將能處理的請求數量。在處理 “MaxRequestsPerChild 數字”個請求之後,子進程將會被父進程終止,這時候子進程佔用的內存就會釋放,如果再有訪問請求,父進程會重新產生子進程進行處理。
如果 MaxRequestsPerChild缺省設爲0(無限)或較大的數字(例如10000以上)可以使每個子進程處理更多的請求,不會因爲不斷終止、啓動 子進程降低訪問效率,但MaxRequestsPerChild設置爲0時,如果佔用了200~300M內存,即使負載下來時佔用的內存也不會減少。內存較大的服務器可以設置爲0或較大的數字。內存較小的服務器不妨設置成30、50、100,以防內存溢出。

 調整後,重啓Apache。

2天過去了,暫時沒有發現問題。繼續觀察,先記下處理步驟。

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