PHP-FPM如果出现存存泄漏问题可能导致服务器内存不足从而导致服务器资源用尽了,这样就会导致网站无法访问了,下面一起来看一篇避免PHP-FPM内存泄漏导致内存耗尽的配置。
 
  否则PHP程序或第三方模块(如Imagemagick扩展)导致的内存泄漏问题会导致内存耗尽或不足。
 
  1.检查php进程的内存占用,杀掉内存使用超额的进程
 
  一般情况下,如果php-cgi进程占用超过1%的内存,就得考虑一下是否要杀掉它了。因为普通情况下,php-cgi进程一般占用0.2%或以下。
 
  这里提供一个脚本供各位使用,就是放在cron任务里,每分钟执行一次。
 
  使用crontab -e 命令,然后添加如下调度任务
 
  * * * * * /bin/bash /usr/local/script/kill_php_cgi.sh
 
  kill_php_cgi.sh脚本如下
 
  #!/bin/sh
 
  #如果是要杀掉php-fpm的进程,下面的语句中php-cgi请改成php-fpm
 
  pids=`ps -ef|grep php-cgi|grep -v "grep"|grep -v "$0"| awk '{print $2}'`
  if [ "$pids" != "" ];then
  for  pid  in   $pids;
  do
  kill -9 $pid
  done
  fi
  2.增加内存,将PHP_FCGI_MAX_REQUESTS的值设置成跟你内存总存储量相对应的值
 
  3.优化程序,降低处理每次请求占用的内存大小
 
  如果PHP-FPM能够提供配置子进程内存超过指定大小就被kill,那就省事多了。
 
 

dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。