国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Apache > 正文

PHP腳本內存泄露導致Apache頻繁宕機解決方法

2024-08-27 18:26:34
字體:
來源:轉載
供稿:網友

在部署一套內網測試環境時,頻繁宕機,開機后不斷的吃內存,重啟apache之后內存占用會不停的上漲,直到swap用完,直到死機,由于是內網環境,服務器并發和壓力都很小。

查看apache錯誤日志,報大量類似錯誤:

復制代碼 代碼如下:

[Tue Feb 14 14:49:28 2012] [warn] child process 7751 still did not exit, sending a SIGTERM
[Tue Feb 14 14:49:30 2012] [error] child process 7603 still did not exit, sending a SIGKILL
[Tue Feb 14 14:49:30 2012] [error] child process 7614 still did not exit, sending a SIGKILL

后查出來是因為php某一些腳本存在內存泄露的代碼段。而apache處理這些代碼段的進程的處理請求數被設置為無窮。也就是說這些進程只有在apache重啟(stop-start模式)或者服務器重啟的情況下才會被kill,否則將一直運行下去,直到耗盡系統的最后一點資源(主要是內存)。

問題分析:

復制代碼 代碼如下:

//服務器允許配置的進程數上限
ServerLimit 1500
//設置服務器啟動時建立的子進程數量。因為子進程數量動態的取決于負載的輕重,所有一般沒有必要調整這個參數。
StartServers     5
//MinSpareServers:設置空閑子進程的最小數量。所謂空閑子進程是指沒有正在處理請求的子進程。如果當前空閑子進程數少于MinSpareServers,那么Apache將以最大每秒一個的速度產生新的子進程。
MinSpareServers   5
//設置空閑子進程的最大數量。如果當前有超過MaxSpareServers數量的空閑子進程,那么父進程將殺死多余的子進程。
MaxSpareServers   10
//用于客戶端請求的最大接入請求數量(最大線程數)。
MaxClients 1500
//設置每個子進程在其生存期內允許提供的最大請求數量
MaxRequestsPerChild 50

問題解決:
 
設置 MaxRequestsPerChild 50或30
 
MaxRequestsPerChild不能太大,也不能設置為0,最好設置為一個相對不大的數字,100內可能就夠了,防止httpd進程有意外的內存泄露。

您可能感興趣的文章:

在CentOS 6 中安裝WordPress(一) 安裝Apache,Mysql, PHP環境win7 64位系統 配置php最新版開發環境(php+Apache+mysql)apache集成php5.6方法分享Windows系統下Apache、PHP無法啟動問題總結Apache2.4.x版wampserver本地php服務器如何讓外網訪問及啟用.htaccessWindows下Apache + PHP SESSION丟失的解決過程全紀錄apache You don''t have permission to access /test.php on this server解決方法Apache同時支持PHP和Python的配置方法簡單介紹win7下搭建apache+php+mysql開發環境win7系統配置php+Apache+mysql環境的方法windows下apache搭建php開發環境apache和PHP如何整合在一起
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涿州市| 宝应县| 藁城市| 白沙| 迭部县| 金乡县| 理塘县| 南昌县| 蒲城县| 阳曲县| 政和县| 安丘市| 乐安县| 文昌市| 武隆县| 英德市| 平邑县| 通河县| 那曲县| 郯城县| 雅江县| 郎溪县| 牟定县| 房山区| 英山县| 和田市| 库车县| 台中县| 南通市| 莱西市| 苍南县| 北安市| 徐水县| 察哈| 鄢陵县| 南开区| 永泰县| 樟树市| 浦江县| 淮北市| 南开区|