这边使用workerman守护进程,tcp远程投递日志到其他机器。同一台机器的php-fpm偶尔遇到连接数暴涨,可能影响到了workerman这边的服务,cpu都跑到了100%。。。
strace和gdb调试,strace该pid里一直在无限gettimeofday,推测是一直在跑select.php里的tick()函数的microtime()
为什么会这样?怎么解决呢?(安装libevent会好些?)
--------分割线---------
今天又检查出有这种情况了,请问怎么解决呢。。。
查看status,并没有很多timer
top
strace截图,一直在刷gettimeofday
下次有这个问题php start.php status 贴下,看下是不是定时器开太多了
定时器只有一个,感觉不是定时器问题。大概率是业务哪里死循环了。