PHP-FPM吃内存,这事儿说大不大,说小不小。尤其是跑在低配VPS或者共享主机上的时候,动不动就被系统“OOM Killer”给干掉了,网站直接白屏,体验极差。其实,大部分情况下,问题都出在配置和代码上,并不是说无解。下面这几个步骤,基本能把内存占用的水平降下来不少。

1. 排查内存占用根源

动手之前,得先搞清楚,到底是谁在吃内存。别上来就怀疑是php-fpm,万一是MySQL或者某个Python脚本在作祟呢?

ubuntu php-fpm内存占用高怎么办

2. 优化php-fpm进程配置

这是最核心的调整环节,配置文件通常在 /etc/php/{version}/fpm/pool.d/www.conf。这里面的参数,直接决定了php-fpm是“勤俭持家”还是“挥霍无度”。

3. 启用并优化OPcache

OPcache是PHP的“内力”,必须打开。它把编译后的PHP脚本缓存起来,避免每次请求都重新编译,省下的内存和执行时间都很可观。

4. 清理不必要的PHP扩展

很多服务器默认加载了一堆用不上的扩展,每个扩展都会占用一点内存。积少成多,也是不小的开销。

;zend_extension=xdebug.so
;extension=gd.so

5. 调整系统内存管理参数

系统层面也可以做一些优化,让内核在内存紧张时更积极地回收缓存。

6. 升级PHP版本

新版本的PHP,尤其是PHP 8.x系列,在性能优化和内存管理上进步巨大。同样的代码,在PHP 8.3上跑,可能比PHP 7.4省下20%的内存,执行速度还更快。

7. 监控与持续优化

优化不是一锤子买卖。上线后,需要持续监控,才能发现潜在问题。

本文转载于:https://www.yisu.com/ask/13459744.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。