1、jps (JVM Process Status Tool)
功能:用于显示当前系统中所有正在运行的Java进程的PID和相关信息。
使用示例:
jps
这会列出所有正在运行的Java进程及其PID和主类名。
如果你还想看到传递给Java虚拟机的参数,可以使用-v选项:
jps -v
2、jstat (JVM Statistics Monitoring Tool)
功能:用于实时监控和输出JVM的各种统计数据,如类加载情况、垃圾回收情况等。
使用示例: 监控垃圾回收统计信息:
jstat -gcutil <pid> <interval> [<count>]
其中是Java进程的进程ID,是采样间隔(毫秒),是采样次数(可选)。
3、jmap (JVM Memory Map Tool)
功能:用于生成堆内存快照,并提供详细的堆内存信息,如对象数量、大小、类型等。
使用示例: 生成堆内存快照:
jmap -dump:format=b,file=<filename> <pid>
其中是快照文件的名称,是Java进程的进程ID。
查看堆内存信息(包括对象数量、大小、类型等):
jmap -histo <pid>
4、jstack
功能:生成虚拟机当前时刻的线程快照,有助于分析线程状态和死锁等问题。
使用示例: 生成线程快照:
jstack <pid>
其中是Java进程的进程ID。
5、JConsole
功能:图形化工具,用于连接并监控本地或远程的JVM实例。
使用示例: 打开JConsole并连接到本地或远程JVM(假设已配置好JMX连接)。在JConsole中,可以查看内存使用情况、线程状态、类加载情况等信息,并进行GC调优等操作。
6、jvisualvm
功能:一款免费的,集成了多个JDK命令行工具的可视化工具,提供强大的分析能力,对Java应用程序做性能分析和调优。
使用示例: 启动jvisualvm,连接到本地或远程JVM。在界面中,可以查看各种监控信息(如CPU、内存、线程等),并使用各种插件进行性能分析和调优。