死循环&死锁排查-pstack

Posted by Lewis on Wednesday, April 1, 2020

TOC

昨晚更新服务器版本后,发现有几组game服cpu暴增,单核cpu高达100%,但看memory并无异常,很是诡异,排查了很久,最后定位到某个函数死循环了,记录下排查服务器死循环或者死锁的常用方法

用pstack命令查看相关进程,通过多次运行pstack,发现代码栈总是停留在同一个位置,十有八九就是这个地方出问题,接下来就是着重检查这个地方的代码

pstack pid

该命令必须由进程的属主或者root运行

tips:吃一堑长一智,循环函数一定要加上退出控制,避免异常情况造成的死循环