-
jstat:
-
作用: jstat主要用于监视Java虚拟机的统计信息,包括类加载、垃圾回收、编译等方面的信息。
-
用法: 可以使用jstat命令查看堆内存、非堆内存、类加载、垃圾回收等统计信息。例如,可以使用
jstat -gc <pid>
查看垃圾回收相关的信息。
-
-
jstack:
-
作用: jstack主要用于生成Java虚拟机线程快照,可以用于查看Java应用程序中线程的堆栈信息,帮助诊断线程相关的问题,比如死锁。
-
用法: 使用jstack命令可以打印出Java进程中每个线程的堆栈信息,以及线程的状态。例如,可以使用
jstack <pid>
查看Java进程的线程堆栈。
-
-
jmap:
-
作用: jmap主要用于生成Java堆的转储文件(heap dump),可以用于分析Java应用程序的内存使用情况,帮助发现内存泄漏等问题。
-
用法: 使用jmap命令可以生成Java进程的堆转储文件,然后可以使用工具(如MAT、VisualVM等)对转储文件进行分析。例如,可以使用
jmap -dump:file=<filename> <pid>
生成堆转储文件。
-
总的来说,jstat用于监视虚拟机的统计信息,jstack用于生成线程堆栈快照,而jmap用于生成堆转储文件,每个工具都有其特定的用途和作用范围。