options选项
-dump:[live,]format=b,file= 将Java堆生成dump文件,
-finalizerinfo 输出等待执行finalizer方法的对象
-heap 输出堆的详细信息,GC算法,堆参数等等
-histo[:live] 输出堆的统计信息,包括Java类,对象数量,内存size等
-permstat Prints class loader wise statistics of permanent generation of Java heap
-F 强制生成dump,与jmap -dump / jmap -histo 等一起使用,如果进程id没有响应则强制生成dump文件
示例:生成Java 堆dump文件
jstack
主要输出 Java线程的堆栈信息
示例:
JConsole
JConsole 是Java自带的可视化程序,可以监控一些内存线程等信息,使用也比较方便。
VisualVM
VisualVM在在Java8之后就被从JDK中拿走,如果想使用可以去VisualVM官网(文末贴出下载地址)下载,它有标准版和基于GraalVM的版本,同时还有IDEA的插件用起来也比较方便。我们下载标准版VisualVM2.07先看一下。还是熟悉的味道。
Memory Analyzer (MAT)
Eclipse 出品的一款Java堆内存分析程序,可以帮助我们找到内存泄漏和减少内存消耗。可在其官网下载,文末贴出下载地址
总结
本篇总结了一些常用GC的垃圾回收流程,GC调优可以参考的一些参数。另外还介绍了一些分析Java性能的一下Java命令及可视化分析工具,在实际生产环境使用的话肯定会比所介绍的还要复杂,所以看官们还不快快动起手来操练一下。让你的JVM不再寂寞。由于每一个工具的详细使用都需要大篇幅,那么指北君后面将会为大家一一带来这些工具如何进行JVM性能调优。敬请期待!
后记
VisualVM 官网 :https://visualvm.github.io/
GraalVM 官网 :https://www.graalvm.org/
Memory Analyzer (MAT) 下载 官网:https://www.eclipse.org/mat/downloads.php (选择国内中科大的镜像,下载会快许多)
面试大全包括:包括 Java 集合、JVM、多线程、并发编程、设计模式、SpringBoot、SpringCloud、Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、MongoDB、Redis、MySQL、RabbitMQ、Kafka、Linux、Netty、Tomcat、Python、HTML、CSS、Vue、React、JavaScript、Android 大数据、阿里巴巴等大厂面试题等、等技术栈!






