linux kangle插件tpl_php7220 7.2内存泄漏解决办法,优化环境变量PHP_FCGI_MAX_REQUESTS最大请求释放进程
linux kangle插件tpl_php7220 7.2内存泄漏解决办法,优化环境变量PHP_FCGI_MAX_REQUESTS最大请求释放进程查询方法
https://bbs.itzmx.com/thread-111105-1-1.html
今天莫名遇到了php7.2内存泄漏,只有这一个版本触发,3311子进程中看到运行时间2w多秒(正常的),但是一个php工作者进程占用700MB内存很明显不正常,正常情况php7.2占用40MB,php5.6占用20MB,php5.6就从来没遇到这种内存泄漏的情况
环境变量,我们需要修改其中的进程最大请求数,达到上限值后释放进程,默认为0不限制
PHPRC="/tmp/php-${name}.ini" PHP_FCGI_MAX_REQUESTS="0"
编辑文件
vi /vhs/kangle/ext/tpl_php7220/config.xml
修改为1500是个推荐的值,测试可以在高并发服务器下可以维持10分钟左右生存时间,避免设置太低导致php一直频繁上下文切换影响性能,如果没遇到内存泄露请保持为0
<!--#start 61-->
<config>
<cmd name='php7220' file='%{config_dir}/bin/php-cgi' listen='local' lock='0' type='mp' proto='fastcgi'>
<pre_event src_file='%{config_dir}/php-templete.ini' dst_file='/tmp/php-${name}.ini'/>
<env PHP_FCGI_MAX_REQUESTS='1500' PHPRC='/tmp/php-${name}.ini'/>
</cmd>
<vhsindex='index.php'>
<map file_ext='php' extend='cmd:php7220' allow_method='*'/>
</vhs>
<vh_templete name='php:php7220' templete='html' index='index.php'>
<map file_ext='php' extend='cmd:php7220' allow_method='*'/>
</vh_templete>
</config>
php7速度快的秘密估计也是因为用了更多的内存,毕竟执行相同的代码,php7比php5多了一倍的内存使用量
推荐方法二,直接更新到最新版的php7.4
https://bbs.itzmx.com/thread-111126-1-1.html
反正不知道是哪一个版本修的,从7.2.21开始修复了好几个内存泄漏的bug,感觉可能是访问文件不存在的那个产生内存泄漏,然后一个进程吃了700M,因为容易被什么扫描器扫描
页:
[1]