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

查看:91
本文介绍了php-fpm模式下opcache的内存是共享全部吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

[现象]
机器运行一段时间后每个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?

解决方案

原文:

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进程创建时,才分配了共享内存

这篇关于php-fpm模式下opcache的内存是共享全部吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆