Out of memory: Kill process 25280 (php-fpm) score 86 or sacrifice child


 

php-fpm 耗盡服務器內存的辦法

java服務今天突然宕機,通過 cat /var/log/messages進行查看,發現是系統內存溢出導致系統把java的進程殺掉了

 

使用top查看系統內存使用情況結果內存都被php-fpm占滿了,使用/etc/init.d/php-fpm restart 重啟php-fpm結果發現仍然還占了很多進程,百度之后發現需要限制一下php-fpm的進程數

vi /etc/php/php-fpm.conf

查看相關設置,發現進程數太多了,服務器根本承載不了那么多就掛了,只能把相關參數設置小一些

pm.max_children = 100 # 系統允許同時運行的php-fpm子進程最大數量
pm.start_servers = 5 # php-fpm父進程啟動時派生出來的子進程數量
pm.min_spare_servers = 5 # php-fpm空閑子進程的最小數量
pm.max_spare_servers = 35 # php-fpm空閑子進程的最大數量

修改后為以下參數

pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

重啟后,發現剩下的php-fpm只剩下了3個。

目前還沒發現問題,如果有問題,就往大再修改一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM