首页 > Linux&Unix > php-fpm下使用eaccelerator产生的内存问题

php-fpm下使用eaccelerator产生的内存问题

2010年7月16日

使用EA或者类似的OP CODE加速器已经是搭建PHP环境的默认选项了
但是在使用nginx的环境内
会需要使用fastcgi方式来运行php
这种情况下.EA的内存占用可能会和你在APACHE下使用EA不同
由于APACHE调用PHP的方式是模块方式的
所有PHP是位于同一个进程下面的
所以所有PHP模块调用的EA是同一个的.
内存只会占用shm_size大小.
APACHE进程间共享这同一个EA
也就是如果你在ea的配置下面写了64M.则只会占用整个系统的64M
而如果用fastcgi模式
特别是php-fpm
每个php都是独立进程
导致每个PHP进程下面都会独立分配EA的内存
则总的内存占用量 = shm_size * php进程数
如果你还用64M的话.开启20个PHP进程就意味着你用掉了1280M内存.
虽然目前只是分配到虚拟内存
但是对于大型网站的话,
不久之后就会占用到了这么大量的内存.
目前具体如何解决还没有找到
但是大家需要注意这个情况.
不同进程间ea缓冲相同文件是否会导致两份数据目前还没有测试.

作者: admin 分类: Linux&Unix 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.