相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡(jiǎn)單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動(dòng)到新位置)
- dirname(__FILE__)的含義和應(yīng)用說(shuō)明
- thinkPHP5框架實(shí)現(xiàn)分頁(yè)查詢功能的方法示例
- PHP中單雙號(hào)與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對(duì)Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫(xiě)文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
解決Linux下php-fpm進(jìn)程過(guò)多導(dǎo)致內(nèi)存耗盡問(wè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