php写定时器怎么避免内存泄露

对于php-fpm多进程的模式,想要避免内存泄漏问题很简单,就是要让php-cgi在处理一定数量进程后退出即可。

php写定时器怎么避免内存泄露

否则PHP程序或第三方模块(如Imagemagick扩展)导致的内存泄漏问题会导致内存耗尽或不足。

php-fpm.conf中有相关配置:  (推荐学习:PHP视频教程)

#请自行按需求配置pm.max_requests = 1024

登录后复制

实际上还有另一个跟它有关联的值max_children,这个是每次php-fpm会建立多少个进程,这样实际上的内存消耗是max_children*max_requests*每个请求使用内存。

立即学习“PHP免费学习笔记(深入)”;

另外一些粗暴的方法包括建立cron kill掉占用内存过多的php-cgi

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/bash /usr/local/script/kill_php_cgi.shkill_php_cgi.sh脚本如下#!/bin/sh#如果是要杀掉php-fpm的进程,下面的语句中php-cgi请改成php-fpmpids=`ps -ef|grep php-cgi|grep -v "grep"|grep -v "$0"| awk '{print $2}'`if [ "$pids" != "" ];thenfor  pid  in   $pids;dokill -9 $piddonefi

登录后复制

2.增加内存,将PHP_FCGI_MAX_REQUESTS的值设置成跟你内存总存储量相对应的值

3.优化程序,降低处理每次请求占用的内存大小

如果PHP-FPM能够提供配置子进程内存超过指定大小就被kill,那就省事多了

以上就是php写定时器怎么避免内存泄露的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2143772.html

(0)
上一篇 2025年2月25日 03:30:56
下一篇 2025年2月20日 00:36:53

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php浮点相减不等于0

    php浮点相减不等于0 php浮点相减不等于0是因为计算机将10进制数转为2进制数时造成了精度丢失,因此可以使用bcadd() 函数来对浮点数相加减并进行精度转换。 另外,判断浮点数是不是等于0,不是用$num == 0,而是abs($d)…

    2025年2月25日
    200
  • php发短信如何换行

    php发短信如何换行     我们在使用短信api时,遇到有些短信需要换行的需求,怎样实现短信换行呢,一起来看下吧。 1、尝试使用或 2、使用足够多的空格达到换行效果 写个代码发条短信把每种可能都试一下就知道了; 立即学习“PHP免费学习笔…

    2025年2月25日
    200
  • php可以用来开发前端吗

    php可以用来开发前端吗? php不可以用来开发前端,因为php是一种创建动态交互性站点的强有力的服务器端脚本语言,是在后端执行的脚本语言。主要是运用在服务器端的网站编程中。 php简介: PHP原始为Personal Home Page的…

    2025年2月25日
    200
  • php开发游戏需要什么技术

    php开发游戏需要什么技术? 游戏公司的PHPer要学会使用哪些技术: web服务器软件:nginx,apache 开发语言:php,javascript,html,html5,css,shell 数据库:mysql,mongodb 立即学…

    2025年2月25日
    200
  • php开发学什么

    php开发学什么? 1、PHP基础部分 涉及到Web开发必备基本的技术和开发一个完整的动态网站项目。课程内容大体上包括动态网站开发的三个方面:前台用户界面布局编写(HTML5+CSS3);存储网站内容的数据库设计(MySQL);服务器业务处…

    2025年2月25日
    200
  • php开发难学么

    php开发难学么? php开发不难学,因为PHP是一种非常容易学习和使用的一门语言,主要以脚本语言为主的,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单…

    2025年2月25日
    200
  • php项目怎么放到服务器

    服务器PHP环境的搭建以及注意事项: 推荐:php服务器 1、Apache2的安装: sudo apt-get install apache2 登录后复制 运行完成后在打开游览器输入IP地址,若出现欢迎界面即安装成功 立即学习“PHP免费学…

    2025年2月25日
    200
  • php和js哪个简单一点

    php和js哪个简单一点? php更简单一点,JS就比较难学。 ● 一款面向对象跟面向过程并及的语言,肯定比单纯的PHP难,PHP容易得多,语言吸收了基础c/c++ java 用得广泛,学得也简单。 ● PHP更加高度封装,很多函数拿来就用…

    2025年2月25日
    200
  • php需要应用服务器吗

    php需要应用服务器吗 php需要应用服务器,因为php程序需要开启一个端口来监听9000端口,用来与web服务器进行通信。 以下是浏览器和PHP、MySQL服务器通信的流程。 1)用户的 Web 浏览器发出 HTTP 请求,请求特定 We…

    2025年2月25日
    200
  • php和java哪个更早

    php和java哪个更早? java更早一点。第一版php是在1995年6月8日发布的,正式名称为”Personal Home Page Tools (PHP Tools)”,第一次使用了”PHP&#82…

    2025年2月25日
    200

发表回复

登录后才能评论