php-fpm模式下opcache的内存是共享全部吗?

发布于 2022-09-05 19:39:16 字数 277 浏览 10 评论 0

[现象]
机器运行一段时间后每个php-fpm的内存都会从13MB增加到30MB左右,重启后php-fpm又会降下来

请问使用php-fpm模式运行下,opcache产生的文件内存是每个php-fpm独享的,还是所有php-fpm共享的?

使用pmap看到了一段以下数据,这个会是opcache的共享内存吗?
00007f6e17e04000 131072K rw-s- /dev/zero (deleted)

那如果是共享的话,为啥每一个php-fpm的进程都会占用到40MB?

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

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

发布评论

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

评论(3

淡莣 2022-09-12 19:39:16

原文:

PHP processes with opcode cache enabled use shared memory for opcode caching. Yet, PHP processes will be able to "share" that shared memory, only if they were all created (forked) from the same, original PHP process, that allocated that shared memory.
大致意思:开启opcache扩展的php进程都可以访问opcode的共享内存。然而,PHP进程将能够“共享”共享内存,只有当它们都是从相同的原始PHP进程创建时,才分配了共享内存

眼泪也成诗 2022-09-12 19:39:16

所有php-fpm共享的,OPcache会放在一块共享内存或一个文件目录里。

卸妝后依然美 2022-09-12 19:39:16

opcache应该是共享的,只要是从同一个master上创建出来的php-fpm进程。但是你php-fpm内存的增加就不一定能给是opcache的问题了。这边是不是存在内存泄漏的问题呢?还是需要定位一下的。

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