线上JVM调查工具:JCPU和JMEM

之前的jkiller改名为jcpu,然后再加上jmem,齐活了,线上要再遇到问题,内存和CPU之外的也没啥其他办法了。

JMEM

https://github.com/54chen/jmem

用来定位莫名其妙的堆外内存问题。首先还是要先用jmap之类的看清楚是否是JVM堆内问题了再用此神物。

jmem.sh 用来靠gdb找到够大的内存块,直接dump到文件里。然后肉眼看吧。。。反正我没看出来,祝你好运。

pmap2stack.sh 弄出来大块的内存地址后,尝试在各种stack中帮你grep出来可以读懂的东东。

JCPU

https://github.com/54chen/jcpu

这个之前有介绍过,就是cpu占得比较猛的进程,直接打出来里面最费CPU的前五个堆栈。

具体用法都在项目的README上。


原创文章如转载,请注明:转载自五四陈科学院[http://www.54chen.com]

捐款订阅54chen
捐赠说明

Comments