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个。

目前还没发现问题,如果有问题,就往大再修改一下。

猜你喜欢

转载自www.cnblogs.com/shej123/p/10266515.html