JDK自带的JVM监控工具主要包括以下几种:
jps:
用于查看运行在JVM上的Java进程信息,如进程ID、主类名等。
jstat:
用于收集和显示JVM内部运行数据的统计信息,如垃圾回收统计、类加载统计等。
jmap:
用于生成JVM的内存快照,用于分析内存使用情况,如查看对象分布、查找内存泄漏等。
jstack:
用于生成JVM的线程快照,用于分析线程状态,如查找死锁、查看线程调用栈等。
jcmd:
用于向正在运行的JVM发送诊断命令,如线程转储、堆转储等。
jconsole:
用于提供图形化界面,实时监控和管理JVM,包括内存、线程、类加载、垃圾回收等信息。
VisualVM:
基于NetBeans平台的可视化工具,提供了JVM监控、内存分析、性能调优等功能。
jvisualvm:
JDK自带的全能分析工具,可以分析内存快照、线程快照、程序死锁、监控内存的变化、GC变化等。
jmc:
使用JMC可以监视和管理Java应用程序,不会导致相关工具类的大幅度性能开销,它使用为Java虚拟机(JVM)的普通自适应动态优化收集的数据。
jinfo:
可以输出并修改运行时的Java进程的配置参数。
这些工具可以帮助开发者和运维人员对Java应用程序的性能进行监控和分析,从而进行性能调优和问题排查。