记一次服务器挂掉,cpu占用过大的问题

凌晨一点电话:咚咚咚


喂:服务器挂掉了,你查查看问题,然后处理下。

我:好的。


从日志看几乎所有的logic日志全都挂掉,不再打印日志,然后logic进程僵死,占用cpu百分90多,有些可怕。


第一反应是逻辑循环问题。

因为是公司自己的框架采用lua编写。单进程单线程。

网上找了很多这个,查了下都是top -H , jstack, gdb等。

但是对于我们的项目不管用啊,jstack不能用,gdb没有,top -H 是单线程单进程。就显示一行没了。


然后看了下挂掉的日志,都是在凌成00:00分挂掉的,然后想到了定时器问题,(我们项目会在这个时间点,定时处理一些事情)


加上当天更新了资料片,新的表格。然后使用git log 查看到底策划加了什么表格,对比定时器的问题。找到添加的新表格。


然后逐个对比,这个效率很慢,可是没办法,就这样磨着磨着,发现策划加的一个表定时器时间设置为-1.


这个肯定有问题啊,  然后通过封装的定时器代码,找到源代码,添加了一个验证

assert(time>=0 )

杀死对应的logic进程,重启,然后全服更新代码。


至此解决。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值