我们知道了arthas的原理和功能后(通过上一篇 《java开发工具(16)问题排查arthas到底怎么用?》),那么这一篇文章,我们就通过实战来真实讲解下,怎么使用arthas排查问题。
一、内存溢出
内存溢出通过dashboard命令,可以一眼就看出来,主要有下面几个特征:
- memory:内存区满了
- thread:如果GC频繁,GC线程可能一直在工作,导致cpu升高。
二、cpu过高
发现程序的cpu占用率比较高,通过dashboard命令,可以直接看到线程的使用情况,排序默认就是按照cpu使用率排序的。截图如下:
三、线程阻塞
接口或其他的请求数据发过来了,但是看日志,却一直没有继续往下执行,也没有报错,你是否有遇到过这种情况,这种时候大概率是线程阻塞了。</