Java虚拟机4:jvm优化(JDK自带的工具介绍)

Java虚拟机4:jvm优化(JDK自带的工具介绍)_第1张图片

上图是JDK安装目录下的文件列表,这个列表中,一般的同学,应该只用过java和javac这两个命令。

今天我们要说的jvm优化,不是第三方的工具,就是JDK这么目录里自带的命令工具。 

1.jps

打印HotSpot VM进程(不要和linux的ps混淆,ps是linux系统的所有在运行进程)。可以查看VMID,JVM参数,main()函数参数,主类名/Jar路径。

 

2.jstat

查看HotSpot VM运行时信息,包含类加载,内存,GC(可以分代查看),JIT编辑。

命令格式: jstat  -gc  线程号  时间间隔  时间间隔内输出次数

查出的数据,各列的含义如下:

Java虚拟机4:jvm优化(JDK自带的工具介绍)_第2张图片

看一组真实数据:

S0,S1的大小居然不一样,这只能说明,在我的电脑上,他们取值可能不是准确值。

3.jinfo

查看和修改虚拟机各项配置

 

 

4.jmap

heapdump:生成VM堆转储快照,查询finalize执行队列,java堆和永久代详细信息。

用法:

 

5.jstack

查看VM当前时刻的线程快照:当前vm内每一条线程正在执行的方法堆栈集合(Thread.getAllStackTraces()提供了类似功能)。

 

6.javap

查看经javac之后产生的JVM字节码代码。自动解析.class文件,避免了去理解class文件格式以及手动解析class文件内容。

 

7.jcmd

一个多功能工具,可以用来导出堆,查看java进程,导出线程信息,执行GC,查看性能相关数据等的命令,几乎集合了jps,jstat,jinfo,jmap,jstack所有功能

 

8.jconsole

基于JMX的可视化监视,管理工具。可以查看内存,线程,类,CPU信息,以及对JMX MBean进行管理。

 

 

9.jvisualvm

JDK中最强大的运行监视和故障处理工具,可以监控内存泄漏,跟踪垃圾回收,执行时内存分析,CPU分析,线程分析等等。

如果感觉现有功能不够用,还可以下载插件。

 

 

 

你可能感兴趣的:(jvm,jvm优化)