婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 解決Linux下php-fpm進程過多導致內存耗盡問題

解決Linux下php-fpm進程過多導致內存耗盡問題

熱門標簽:400電話申請辦理 百度地圖標注類型是酒店 外呼系統人工客服 商丘外呼系統好處 福建高頻外呼防封系統哪家好 周口網絡回撥外呼系統 網絡電話400申請 隨州銷售電銷機器人公司 全國各省地圖標注點

最近,發現個人博客的Linux服務器,數據庫服務經常掛掉,導致需要重啟,才能正常訪問,極其惡心,于是決心開始解決問題,解放我的時間和精力(我可不想經常出問題,然后人工重啟,費力費時)。

分析問題

發現問題以后,首先使用 free -m 指令查看當前服務器執行狀況:

可以看到我的服務器內存是2G的,但是目前可用內存只剩下70M,內存使用率高達92%,很有可能是內存使用率過高導致數據庫服務掛斷。

繼續看詳細情況,使用 top 指令:

然后再看指令輸出結果中詳細列出的進程情況,重點關注第10列內存使用占比:

發現CPU使用率不算高,也排除了CPU的問題,另外可以看到數據庫服務占用15.2%的內存,內存使用過高時將會擠掉數據庫進程(占用內存最高的進程),導致服務掛斷,所以我們需要查看詳細內存使用情況,是哪些進程耗費了這么多的內存呢?

使用指令:

ps auxw|head -1;ps auxw|sort -rn -k4|head -40

查看消耗內存最多的前40個進程:

查看第四列內存使用占比,發現除了mysql數據庫服務之外,php-fpm服務池開啟了太多子進程,占用超過大半內存,問題找到了,我們開始解決問題:設置控制php-fpm進程池進程數量。

解決問題

通過各種搜索手段,發現可以通過配置 pm.max_children 屬性,控制php-fpm子進程數量,首先,打開php-fpm配置文件,執行指令:

vi /etc/php-fpm.d/www.conf

找到 pm.max_children 字段,發現其值過大:

如圖, pm.max_children 值為50,每一個進程占用1%-2.5%的內存,加起來就耗費大半內存了,所以我們需要將其值調小,博主這里將其設置為25,同時,檢查以下兩個屬性:

pm.max_spare_servers : 該值表示保證空閑進程數最大值,如果空閑進程大于此值,此進行清理 pm.min_spare_servers : 保證空閑進程數最小值,如果空閑進程小于此值,則創建新的子進程;

這兩個值均不能不能大于 pm.max_children 值,通常設置 pm.max_spare_servers 值為 pm.max_children 值的60%-80%。

最后,重啟php-fpm

systemctl restart php-fpm

再次查看內存使用情況, 使用內存降低很多:

之后經過多次觀察內存使用情況,發現此次改進后,服務器內存資源消耗得到很大緩解。

ps:查看php-fpm開啟的進程數以及每個進程的內存限制

1.通過命令查看服務器上一共開了多少的 php-cgi 進程

 ps -fe |grep "php-fpm"|grep "pool"|wc -l

2.查看已經有多少個php-cgi進程用來處理tcp請求

 netstat -anp|grep "php-fpm"|grep "tcp"|grep "pool"|wc -l

3.linux+nginx+php環境中,每個php-fpm進程的內存限制

設置方法:

編輯php-fpm.conf配置文件

php_admin_value[memory_limit] = 128M(我服務器上的配置文件在/etc/php5/fpm/pool.d/www.conf 這個文件是被包含在php-fpm.conf里的) 后邊的數字可以隨便更改:32M,64M,128M,256M,512M,這個設置可根據你的服務器內存大小和你的需求來寫,修改后要加載一下php-fpm服務。

總結

以上所述是小編給大家介紹的Linux下php-fpm進程過多導致內存耗盡問題解決,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • Linux下用Valgrind做檢查(防止內存泄露)
  • jmeter在linux系統下運行及本地內存調優的方法詳解
  • linux swap交換內存擴容的方法
  • Python3監控windows,linux系統的CPU、硬盤、內存使用率和各個端口的開啟情況詳細代碼實例
  • Linux內核私闖進程地址空間并修改進程內存的方法
  • 如何利用Bash腳本監控Linux的內存使用情況
  • Linux系統查看CPU、機器型號、內存等信息
  • Linux中大內存頁Oracle數據庫優化的方法
  • 詳解Linux內核內存管理架構
  • Linux系統下利用C程序輸出某進程的內存占用信息
  • python監控linux內存并寫入mongodb(推薦)
  • Linux內存描述符mm_struct實例詳解
  • Linux共享內存實現機制的詳解
  • Linux 下如何檢查內存使用率

標簽:定西 海南 迪慶 南寧 樂山 十堰 六安 佛山

巨人網絡通訊聲明:本文標題《解決Linux下php-fpm進程過多導致內存耗盡問題》,本文關鍵詞  解決,Linux,下,php-fpm,進程,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《解決Linux下php-fpm進程過多導致內存耗盡問題》相關的同類信息!
  • 本頁收集關于解決Linux下php-fpm進程過多導致內存耗盡問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 青田县| 汉源县| 华蓥市| 巴林右旗| 裕民县| 驻马店市| 璧山县| 安泽县| 宁化县| 报价| 绵竹市| 湄潭县| 黎城县| 五指山市| 吴江市| 睢宁县| 凤翔县| 青州市| 平塘县| 昂仁县| 临潭县| 柳河县| 广安市| 晴隆县| 图片| 沿河| 湘潭市| 五峰| 拉孜县| 上栗县| 依安县| 贵州省| 张家口市| 湘阴县| 广灵县| 普兰店市| 清镇市| 洛川县| 甘南县| 河曲县| 荣成市|