php – APC共享内存问题
发布时间:2020-12-13 13:52:11 所属栏目:PHP教程 来源:网络整理
导读:我在freebsd服务器上安装了nginx php-fpm和APC,我遇到了与APC以某种方式连接的php-fpm的常见问题. php-fpm冻结在’lockf’状态(在顶部),因此网站无法正常工作. 我注意到通过将apc.shm_size降低到默认值30来帮助php-fpm不要冻结,但30Mb对我来说还不够,因为我
我在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模式?
关于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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |