nginx fastcgi_cache共享内存空间设置过大导致错误:nginx: [alert] mmap(MAP_ANON|MAP_SHARED, 536870912) failed (12: Cannot allocate memory)

jackxiang 2015-5-6 16:36 | |
背景:整了一把hhvm,发现其对wordpress支持还不错,对bo-blog也还成,但是bo-blog里的验证码好像就不行了,对owncloud直接就歇菜了出现内部服务器错误。那就还回常规的php吧,出现:
[root@jackxiang vhost]# service nginx start
Starting nginx... Enter PEM pass phrase:
Enter PEM pass phrase:
Enter PEM pass phrase:
nginx: [alert] mmap(MAP_ANON|MAP_SHARED, 134217728) failed (12: Cannot allocate memory)


——————————————————————————————————————————————————
按照以往的设置,直接设定fastcgi_cache:
fastcgi_cache_path /data/nginx/fastcgi_cache levels=1:2 keys_zone=ngx_fcgi_cache:150m inactive=1d max_size=40g;

但是,出现错误:
nginx: [alert] mmap(MAP_ANON|MAP_SHARED, 536870912) failed (12: Cannot allocate memory)

原因是共享内存空间设置过大,系统已没有足够的内存分配,导致无法启动nginx,可以将上面的keys_zone=ngx_fcgi_cache:150m,设置小一些,例如keys_zone=ngx_fcgi_cache:50m,即可。

最后,
为何没有足够的内存分配?是因为我在虚拟机里面又装了一个virtual box,里面装了一个windows 2003,它里面装了一个Rtx Server,于是没啥内存了。

后记,
有兄弟建议:HHVM对GD支持OK么,现在研究hhvm。。不如耐心等10月phpng。
我的回复是:不清楚呢,我也是昨天才安成功了hhvm,用的群里兄弟贴的链接地址。
提前体验一下,这块我觉得这块是智能化还是傻瓜化:
我发现这个hhvm某个链接访问后,一段时间再访问好像又重新编译了。
但如果访问频率很快呢,就会发现性能的确还不错...这块新版PHP得规避。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/8023/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2015-5-6 17:03
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]