java内存分析工具_4大JVM性能分析工具详解,及内存泄漏分析方案

时间:2024-10-10 13:17:47

谈到性能优化分析一般会涉及到:

Java代码层面的,典型的循环嵌套等

还会涉及到Java JVM:内存泄漏溢出等

MySQL数据库优化:分库分表、慢查询、长事务的优化等

今天主要分享JVM性能调优工具,文末有详细的JVM调优方法和步骤。

什么场景需要JVM调优

OutOfMemoryError,内存不足

内存泄露

线程死锁

锁争用(Lock Contention)

Java进程消耗CPU过高

这些问题出现的时候常常通过重启服务器或者调大内存来临时解决,实际情况,还需要尽量还原当时的业务场景,并分析内存、线程等数据,通过分析找到最终的解决方案,这就会涉及到性能分析工具。

JVM性能监控分析工具

JDK本身提供了很丰富的性能监控工具,除了集成式的visualVM和jConsole外,还有jstat,jstack,jps,jmap,jhat小工具,这些都是性能调优的常用工具。

Jconsole :jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。

JProfiler:商业软件,功能强大。

VisualVM:JDK自带,功能强大,与JProfiler类似。

MAT:MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具。

下面介绍这些JVM工具的使用。

JVM性能调优工具

VisualVM

VisualVM 是javajdk自带的牛逼的调优工具,也是平时使用最多调优工具,几乎涉及了jvm调优的方方面面。启动起来后和jconsole 一样同样可以选择本地和远程,如果需要监控远程同样需要配置相关参数。

1 打开VisualVM

这个工具放在JDK安装目录的bin目录下,双击即可打开,如下图所示