JDK中自带的JVM分析工具( 三 )


文章插图
这里选择线程一栏 , 可以直观的看到线程数量的变化曲线 , 也可以在下方查看某个线程的具体信息 , 并且可以通过检测死锁功能 , 发现在服务中创建的test-thread-01和test-thread-02两条线程;

JDK中自带的JVM分析工具

文章插图
2、visualvmVisualVM作为解决JVM问题的常用工具 , 集成的功能丰富且强大 , 此处通过Idea插件的方式启动FacadeApp微服务 , 在进程主页可以看到自定义的配置 , 线程一栏因为检测到死锁直接给到异常提示;
JDK中自带的JVM分析工具

文章插图
在监视一栏可以通过【堆dump】查看详细的信息 , 可以查看类的实例数和大小 , 并且完成了结果排序和占用统计;此处信息在定位和解决JVM问题时非常重要;
JDK中自带的JVM分析工具

文章插图
对于JVM的监控工具来说 , 其能力与常用的命令行语法差异很小 , 并且这些命令在jdk中tools.jar包也可以找到其对应的类 , 对于一些更高级的监控平台来说 , 例如Kuboard、Skywalking等 , 也对这些底层能力做了集成 , 其原理应该也是大同小异 。
五、参考源码编程文档:https://gitee.com/cicadasmile/butte-java-note应用仓库:https://gitee.com/cicadasmile/butte-flyer-parent【JDK中自带的JVM分析工具】

经验总结扩展阅读