php – APC共享内存问题

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – APC共享内存问题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我在FreeBSD服务器上安装了Nginx PHP-FPM和APC,我遇到了与APC以某种方式连接的PHP-fpm的常见问题. PHP-fpm冻结在’lockf’状态(在顶部),因此网站无法正常工作.
我注意到通过将apc.shm_size降低到认值30来帮助PHP-fpm不要冻结,但30Mb对我来说还不够,因为我在APC中存储了很多变量.
我注意到将apc.shm_size提升到更高的值(为60)会使PHP-fpm进程使用更多的内存,几乎所有的服务器物理内存,这很奇怪,因为据我所知,所有PHP-fpm共享60Mb进程,不应该影响每个PHP-fpm进程的内存使用情况.
我试图将apc.shm_segments值更改为超过1的值,并在重启PHP-fpm时出错:
PHP Startup: apc.shm_segments setting ignored in MMAP mode in <b>UnkNown</b> on line <b>0</b><br />
UnkNown(0) : Warning - PHP Startup: apc.shm_segments setting ignored in MMAP mode

所以请告诉我这些参数对APC有何影响以及为什么PHP-fpm在使用大量共享内存时会死亡?什么意味着MMAP模式?
我正在考虑转换到xcache,它是否PHP-fpm一起工作并且足够稳定以便生产?

关于mmap:

配置apc的脚本有指令:

--disable-apc-mmap
                          Disable mmap support and use IPC shm instead

还有3种类型的锁定:

--enable-apc-SEM
                          Enable semaphore locks instead of fcntl
  --enable-apc-spinlocks
                          Enable spin locks  ExpERIMENTAL

认fcntl.你可以尝试旋锁,看看会发生什么

PS.这也应该是有用的:http://www.php.net/manual/en/apc.setup.php

脚本宝典总结

以上是脚本宝典为你收集整理的php – APC共享内存问题全部内容,希望文章能够帮你解决php – APC共享内存问题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。