加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

防止PHP-FPM内存泄漏导致内存耗尽

发布时间:2022-08-03 16:54:16 所属栏目:PHP教程 来源:互联网
导读:PHP-FPM如果出现存存泄漏问题可能导致服务器内存不足从而导致服务器资源用尽了,这样就会导致网站无法访问了,下面一起来看一篇避免PHP-FPM内存泄漏导致内存耗尽的配置。 php-fpm.conf中有相关配置: #请自行按需求配置 pm.max_requests = 1024 实际上还有另
  PHP-FPM如果出现存存泄漏问题可能导致服务器内存不足从而导致服务器资源用尽了,这样就会导致网站无法访问了,下面一起来看一篇避免PHP-FPM内存泄漏导致内存耗尽的配置。
 
  php-fpm.conf中有相关配置:
 
  #请自行按需求配置
 
  pm.max_requests = 1024
 
  实际上还有另一个跟它有关联的值max_children,这个是每次php-fpm会建立多少个进程,这样实际上的内存消耗是max_children*max_requests*每个请求使用内存。
 
  另外一些粗暴的方法包括建立cron kill掉占用内存过多的php-cgi,
 
  1.检查php进程的内存占用,杀掉内存使用超额的进程
 
  一般情况下,如果php-cgi进程占用超过1%的内存,就得考虑一下是否要杀掉它了。因为普通情况下,php-cgi进程一般占用0.2%或以下。
 
  这里提供一个脚本供各位使用,就是放在cron任务里,每分钟执行一次。
 
  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,那就省事多了

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读