[现象]机器运行一段时间后每个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?
3 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
原文:
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进程创建时,才分配了共享内存
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
opcache应该是共享的,只要是从同一个master上创建出来的php-fpm进程。但是你php-fpm内存的增加就不一定能给是opcache的问题了。这边是不是存在内存泄漏的问题呢?还是需要定位一下的。
- 3 回答
- 0 关注
- 1080 浏览
添加回答
举报
0/150
提交
取消