主頁(yè) > 知識(shí)庫(kù) > 解決Linux下php-fpm進(jìn)程過(guò)多導(dǎo)致內(nèi)存耗盡問(wèn)題

解決Linux下php-fpm進(jìn)程過(guò)多導(dǎo)致內(nèi)存耗盡問(wèn)題

熱門(mén)標(biāo)簽:400電話申請(qǐng)辦理 百度地圖標(biāo)注類(lèi)型是酒店 外呼系統(tǒng)人工客服 商丘外呼系統(tǒng)好處 福建高頻外呼防封系統(tǒng)哪家好 周口網(wǎng)絡(luò)回?fù)芡夂粝到y(tǒng) 網(wǎng)絡(luò)電話400申請(qǐng) 隨州銷(xiāo)售電銷(xiāo)機(jī)器人公司 全國(guó)各省地圖標(biāo)注點(diǎn)

最近,發(fā)現(xiàn)個(gè)人博客的Linux服務(wù)器,數(shù)據(jù)庫(kù)服務(wù)經(jīng)常掛掉,導(dǎo)致需要重啟,才能正常訪問(wèn),極其惡心,于是決心開(kāi)始解決問(wèn)題,解放我的時(shí)間和精力(我可不想經(jīng)常出問(wèn)題,然后人工重啟,費(fèi)力費(fèi)時(shí))。

分析問(wèn)題

發(fā)現(xiàn)問(wèn)題以后,首先使用 free -m 指令查看當(dāng)前服務(wù)器執(zhí)行狀況:

可以看到我的服務(wù)器內(nèi)存是2G的,但是目前可用內(nèi)存只剩下70M,內(nèi)存使用率高達(dá)92%,很有可能是內(nèi)存使用率過(guò)高導(dǎo)致數(shù)據(jù)庫(kù)服務(wù)掛斷。

繼續(xù)看詳細(xì)情況,使用 top 指令:

然后再看指令輸出結(jié)果中詳細(xì)列出的進(jìn)程情況,重點(diǎn)關(guān)注第10列內(nèi)存使用占比:

發(fā)現(xiàn)CPU使用率不算高,也排除了CPU的問(wèn)題,另外可以看到數(shù)據(jù)庫(kù)服務(wù)占用15.2%的內(nèi)存,內(nèi)存使用過(guò)高時(shí)將會(huì)擠掉數(shù)據(jù)庫(kù)進(jìn)程(占用內(nèi)存最高的進(jìn)程),導(dǎo)致服務(wù)掛斷,所以我們需要查看詳細(xì)內(nèi)存使用情況,是哪些進(jìn)程耗費(fèi)了這么多的內(nèi)存呢?

使用指令:

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

查看消耗內(nèi)存最多的前40個(gè)進(jìn)程:

查看第四列內(nèi)存使用占比,發(fā)現(xiàn)除了mysql數(shù)據(jù)庫(kù)服務(wù)之外,php-fpm服務(wù)池開(kāi)啟了太多子進(jìn)程,占用超過(guò)大半內(nèi)存,問(wèn)題找到了,我們開(kāi)始解決問(wèn)題:設(shè)置控制php-fpm進(jìn)程池進(jìn)程數(shù)量。

解決問(wèn)題

通過(guò)各種搜索手段,發(fā)現(xiàn)可以通過(guò)配置 pm.max_children 屬性,控制php-fpm子進(jìn)程數(shù)量,首先,打開(kāi)php-fpm配置文件,執(zhí)行指令:

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

找到 pm.max_children 字段,發(fā)現(xiàn)其值過(guò)大:

如圖, pm.max_children 值為50,每一個(gè)進(jìn)程占用1%-2.5%的內(nèi)存,加起來(lái)就耗費(fèi)大半內(nèi)存了,所以我們需要將其值調(diào)小,博主這里將其設(shè)置為25,同時(shí),檢查以下兩個(gè)屬性:

pm.max_spare_servers : 該值表示保證空閑進(jìn)程數(shù)最大值,如果空閑進(jìn)程大于此值,此進(jìn)行清理 pm.min_spare_servers : 保證空閑進(jìn)程數(shù)最小值,如果空閑進(jìn)程小于此值,則創(chuàng)建新的子進(jìn)程;

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

最后,重啟php-fpm

systemctl restart php-fpm

再次查看內(nèi)存使用情況, 使用內(nèi)存降低很多:

之后經(jīng)過(guò)多次觀察內(nèi)存使用情況,發(fā)現(xiàn)此次改進(jìn)后,服務(wù)器內(nèi)存資源消耗得到很大緩解。

ps:查看php-fpm開(kāi)啟的進(jìn)程數(shù)以及每個(gè)進(jìn)程的內(nèi)存限制

1.通過(guò)命令查看服務(wù)器上一共開(kāi)了多少的 php-cgi 進(jìn)程

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

2.查看已經(jīng)有多少個(gè)php-cgi進(jìn)程用來(lái)處理tcp請(qǐng)求

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

3.linux+nginx+php環(huán)境中,每個(gè)php-fpm進(jìn)程的內(nèi)存限制

設(shè)置方法:

編輯php-fpm.conf配置文件

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

總結(jié)

以上所述是小編給大家介紹的Linux下php-fpm進(jìn)程過(guò)多導(dǎo)致內(nèi)存耗盡問(wèn)題解決,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

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

標(biāo)簽:定西 海南 迪慶 南寧 樂(lè)山 十堰 六安 佛山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決Linux下php-fpm進(jìn)程過(guò)多導(dǎo)致內(nèi)存耗盡問(wèn)題》,本文關(guān)鍵詞  解決,Linux,下,php-fpm,進(jìn)程,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《解決Linux下php-fpm進(jìn)程過(guò)多導(dǎo)致內(nèi)存耗盡問(wèn)題》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于解決Linux下php-fpm進(jìn)程過(guò)多導(dǎo)致內(nèi)存耗盡問(wèn)題的相關(guān)信息資訊供網(wǎng)民參考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推薦文章