select event-loop死循环

chenjim2347

这边使用workerman守护进程,tcp远程投递日志到其他机器。同一台机器的php-fpm偶尔遇到连接数暴涨,可能影响到了workerman这边的服务,cpu都跑到了100%。。。
strace和gdb调试,strace该pid里一直在无限gettimeofday,推测是一直在跑select.php里的tick()函数的microtime()
为什么会这样?怎么解决呢?(安装libevent会好些?)

--------分割线---------
今天又检查出有这种情况了,请问怎么解决呢。。。
查看status,并没有很多timer

top

strace截图,一直在刷gettimeofday

1609 1 0
1个回答

walkor 打赏

下次有这个问题php start.php status 贴下,看下是不是定时器开太多了

  • walkor 2022-01-05

    定时器只有一个,感觉不是定时器问题。大概率是业务哪里死循环了。

年代过于久远,无法发表回答
×
🔝