out of memory: killed process php-fpm错误的解决方法
最近发现一台ECS莫名其妙的宕机,在控制台VNC模式远程连接后出现了下面这个界面
问题显而易见,内存超额了,于是去php-fpm的配置文件/etc/php-fpm.d/www.conf
查看内存分配情况
找到参数 php_admin_value[memory_limit]
,发现这个参数默认是注释掉的,并且默认值是128M
,把注释改掉并把内存分配大点即可。
除了内存分配之外还需要注意如果进程数超出服务器承载范围也会出错,这时候需要把相关参数设置小一些
找到
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。