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个。
目前还没发现问题,如果有问题,就往大再修改一下。