linux+php5.3版本出现错误死锁解决

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 03:35 点击:

 PHP-fpm/cgi 搭配 APC或xcache碰到死锁的解决办法。
一台机器一直跑 PHP 5.3.x (fpm或fastcgi方式),常常不定时发生死锁现象。

表现为 FCGI 服务连不上,NGINX报告 502 bad gateway,这时系统里的 php 进程其实都还在,但都卡在 futex() 这一系统调用上,很明显发生死锁了。

查了一些资料,发现这个BUG早在2年前就有人提交过了,至今似乎没有妥善的解决办法,原因在于锁住资源时如果发生脚本超时,则时PHP内部通过 longjmp 跳转来关闭请求,导致锁无法正确释放。

目前在PHP5.3可以在 php.ini 中增加 exit_on_timeout = On 来解决,意思是当发生超时就索性把进程杀死,以便让系统回收这类锁资源,避免死锁。


作者“linux”

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • /etc/fstab 详解
      • nginx主主集群
      •  LVS-NAT和LVS-DR模式的实现详解
      •  RHCE考试之磁盘配额
      • 学习笔记:ACL详解
      •  LVM逻辑卷管理器
      • suse linux双网卡双网关配置
      •  Nginx主主负载均衡架构
      • ubuntu学习Mysql

      快速直达

      操作系统导航

      LinuxWindows虚拟机
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1