溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php-fpm內(nèi)存占滿的問題

發(fā)布時(shí)間:2020-07-19 22:41:21 來源:網(wǎng)絡(luò) 閱讀:1460 作者:xiao987334176 欄目:web開發(fā)

web服務(wù)器是用tengine+php5.5,用的是阿里云ECS

訪問量沒有多少,但是內(nèi)存總是在90%以上。

查看占用內(nèi)存前10個(gè)進(jìn)程

ps -aux | sort -k4nr | head -n 10

發(fā)現(xiàn)大多數(shù)進(jìn)程都是php-fpm

重啟php-fpm還是一樣的。


釋放內(nèi)存

echo 1 > /proc/sys/vm/drop_caches

還是在89%左右


安裝nmon,分析內(nèi)存占用工具

yum install -y nmon

執(zhí)行一下

nmon

按一下m鍵(內(nèi)存),就可以看到如下界面


             MB                  MB                  MB                                                                                                                                      

                      Cached=   481.3     Active=  1066.2             

Buffers=54.6 Swapcached=0.0  Inactive =195.3                                                                                           

Dirty=0.6 Writeback =0.0  Mapped =39.2                                                                                               

Slab=224.5 Commit_AS =3071.4 PageTables=114.9 


發(fā)現(xiàn)slab特別大,應(yīng)該是這個(gè)原因(slabtop) 


然后釋放緩存,等待15秒

echo 2 > /proc/sys/vm/drop_caches

再次查看,發(fā)現(xiàn)內(nèi)存正常了,為10%。

[root@iZ23l etc]# free -m

             total       used       free     shared    buffers     cached

Mem:         15948       1502      14445          0         51        427

-/+ buffers/cache:       1022      14925

Swap:            0          0          0


本文參考

http://ju.outofmemory.cn/entry/170007


說明:

之前服務(wù)器,因?yàn)殚_啟以下2個(gè)參數(shù)

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

導(dǎo)致外網(wǎng)APP用戶,在wifi情況下,登陸超時(shí)。3G,4G網(wǎng)絡(luò)正常。

把這2個(gè)參數(shù)關(guān)閉之后,就正常了。

隨之而來的問題,就是TIME_WAIT急劇增加,一度增加到12萬。

所以net.ipv4.tcp_max_tw_buckets = 200000 參數(shù)增加到20萬,messages日志就沒有報(bào)錯(cuò)了。

之后發(fā)現(xiàn)內(nèi)存,一度在90%左右。因?yàn)楸3諸IME_WAIT需要占用一定的內(nèi)存,以為是TIME_WAIT導(dǎo)致的內(nèi)存升高,所以將net.ipv4.tcp_tw_reuse = 0設(shè)置為0,TIME_WAIT由17000降低至13000。但是內(nèi)存只降低了1G左右,效果甚微。

每到周末放假,就內(nèi)存告警。煩死了,本來想增加內(nèi)存的,被老大駁回了(訪問量沒有多少,內(nèi)存卻要增加,不能接受)。哎,就只能自己想辦法搞定了。

將net.ipv4.tcp_tw_recycle = 1設(shè)置為1(這個(gè)會(huì)導(dǎo)致nat網(wǎng)絡(luò)環(huán)境連接超時(shí)),幾分鐘之后,IME_WAIT降低至100左右,但是內(nèi)存還是沒有降低多少。

所以說不是TIME_WAIT導(dǎo)致的。

后來參考上面的鏈接,發(fā)現(xiàn),果然內(nèi)存降低了。


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI