JVM自身提供了大量的诊断和调优工具,从jps、jstack、jmap、jhat、jstat、hprof等到visualvm等,提供了JVM进程信息,堆栈,堆内存等内容。
Arthas是阿里开源的Java诊断工具,整合很多功能,而且是交互式。部分功能使用字节码增强技术,能够获取更多信息,而且还支持长时间后台监控,确实是一个不错的工具。
Arthas安装比较简单,直接运行官方的sh脚本就行了,然后运行启动。这里要求本机必须有telnet,但是Mac默认已经移除了telnet,所以需要自己安装一下 brew install telnet
来几个使用示例
查看类加载
查看反编译代码
这有一片文章比较详细的展示了Arthas的使用:
http://hengyunabc.github.io/spring-boot-arthas-NoSuchMethodError/
原文 https://www.huangyunkun.com/2018/10/18/java-tool-arthas/