php-fpm 的最大占用内存可以动态设置吗?

发布于 2022-09-06 07:56:18 字数 446 浏览 12 评论 0

最近遇到一个问题, 公司项目一些网页占用的内存不多, 设置了php-fpm最大占用内存为80M, 已经够用, 但是一些特殊的页面必须要设置max_memory=512M, 才能正常打开, 否则会502或500.

因此, 想请教大家, 这种情况下(不同页面占用内存差距过大), 如何动态的设置脚本内存呢?
一开始的解决思路是使用函数ini_set('memory_limit', '512M') 来达到动态设置内存的目的, 但是实际过程中发现这样的设置不生效, 仔细想想就容易发现因为php-fpm的内存限制在php.ini之上, 就算php设置了512m, 但是fpm还是不允许那么大的内存占用. 那么, 有没有什么函数可以动态设置fpm的内存呢? 还是说 fpm配置文件中最大占用内存一旦设置了, 就全局无法改变?
或者有其他的解决方案吗? 给fpm设置固定的过大的max_momory, 我担心内存泄漏会比较严重.
感谢各位大佬的帮助.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

他不在意 2022-09-13 07:56:18

取消php fpm的最大值设置,这种情况下使用php.ini控制一般脚本占用内存上限,如需要特殊情况下放开内存就可以用ini_set('memory_limit', '512M')

另外,提供题主一个思路,像类似您说的“特殊情况页面”这样的需求或脚本,这样大量占用内存的脚本无非是处理数据、定时脚本、队列处理等,可以考虑新开一台机器专门处理,不建议将这些业务与外部调用的实时接口(打个比方)放在一台机器上:1是因为业务场景不同,2是所需配置不尽相同。否则长远来看的话,维护成本会相对较高!

逆夏时光 2022-09-13 07:56:18

不配置php fpm的最大内存。

并安 2022-09-13 07:56:18

在phpinfo里找下“memory_limit”看看是不是你设置的值,就知道你设置后有没有生效了,改完记得重启下php-fpm

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文