PHP-FPM 请求结束后,不会回收全部内存。
1. 运行环境
Docker + Centos7 + Nginx + php7.4
1). 当前使用的 Laravel 版本?
8.0 (其实与laravel无关)
2). 当前使用的 php/php-fpm 版本?
PHP 版本:
7.4.27
php-fpm 版本:
没找到 php7
3). 当前系统
Centos7
4). 业务环境
开发环境
5). 相关软件版本
nginx version: nginx/1.21.4
2. 问题描述?


每次运行完一个请求,fpm进程并不会回收内存。导致一直占用内存。

机器只有不到1G的内存可以使用,不自动释放的话。3,4个请求之后,内存就满了
3. 您期望得到的结果?
自动释放内存
4. 您实际得到的结果?
请求结束后,回收脚本使用的全部内存
关于 LearnKu
php-fpm是常驻进程,占用内存是正常的。 至于回收脚本使用的内存,是指你的php程序执行中声明的变量,分配的内存会在请求结束后回收。 如果你要测试验证,你就写个php脚本,file_get_contents读取个几百M的文件,请求这个脚本,php-fpm占用内存不会随着你这个脚本读取的几百M文件上升的。
发表下个人愚见,很多程序在 linux 运行都会持续占用内存,但这并非真正的占用,在其他应用真正需要内存时,系统会回收掉这部分内存
想问一下你是通过什么方式读取的一个大文件?