php不自动释放内存导致内存不足的情况
Song •
2347 次浏览 •
0个评论 •
2022年04月19日
最近一台并发高的服务器切换到新的服务器后,明明并发已经不高了,但是内存占用还是很高。
free -m
total used free shared buff/cache available
Mem: 7692 6712 570 105 410 616
Swap: 0 0 0我使用ps -aux | sort -k4nr | head -n 10 查询占用最高的10个进程是PHP-FPM;通过重启PHP后内存降低
sudo service php7.4-fpm restart接下来我们看下如何自动清除内存?
一种方法是减少php-fpm进程总数,来达到减少php-fpm内存占用的问题,例如调整pm.max_children等数值。实际使用过程中还发现进程数调低后,php-fpm进程还长期占用内存并没有及时释放。这时,解决的方法就是减少pm.max_requests数。
设置:
pm.max_requests = 1000最大请求数max_requests,即当一个 PHP-CGI 进程处理的请求数累积到 max_requests 个后,自动重启该进程,这样达到了释放内存的目的了。以2GB内存的VPS主机设置为例,如果你设置的数值没有达到释放内存可以继续调低。
当php-fpm进程达到了pm.max_requests设定的数值后,PHP就会重启该进程,从而释放内存了。
对于大内存,对并发和可用性有要求的话,建议使用static管理模式+最大的pm.max_children。如果是小内存的服务器,建议使用dynamic或者ondemand模式,同时降低pm.start_servers和pm.max_spare_servers进程数。
-
laravel使用easywechat日志文件过大占用服务器内容。 2022-04-11 -
JS/Jquery/vue使用CryptoJS进行md5、aes加密 2022-04-02 -
Macos sublime text3 安装HTML-CSS-JS Prettify实现快速格式化html/css/js代码 2022-03-28 -
Nginx配置集群以及后端代理,简单实现负载均衡 2022-03-25 -
[Laravel-Excel中文文档] maatwebsite/excel导出多个Sheet 2022-03-21

ubuntu 如何安装php后如何查看php-fpm.sock文件位置?