JVM调优
JDK 命令行工具
这些命令在 JDK 安装目录下的 bin 目录下:
- jps (JVM Process Status): 类似 UNIX 的 ps 命令。用户查看所有 Java 进程的启动类、传入参数和 Java 虚拟机参数等信息;
- jstat( JVM Statistics Monitoring Tool): 用于收集 HotSpot 虚拟机各方面的运行数据;
- jinfo (Configuration Info for Java) : Configuration Info forJava,显示虚拟机配置信息;
- jmap (Memory Map for Java) :生成堆转储快照;
- jhat (JVM Heap Dump Browser ) : 用于分析 heapdump 文件,它会建立一个 HTTP/HTML 服务器,让用户可以在浏览器上查看分析结果;
- jstack (Stack Trace for Java):生成虚拟机当前时刻的线程快照,线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合。
JPS命令
jps:显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一 ID(Local Virtual Machine Identifier,VMID)。
jps -q :只输出进程的本地虚拟机唯一 ID。
jps -l:输出主类的全名,如果进程执行的是 Jar 包,输出 Jar 路径。
jps -v:输出虚拟机进程启动时 JVM 参数。
jps -m:输出传递给 Java 进程 main() 函数的参数。
C:\Program Files (x86)\Java\jdk1.8.0_144\bin>jps -q
27396
11052
27628
36012
C:\Program Files (x86)\Java\jdk1.8.0_144\bin>jps
32592 Jps
27396 Launcher
11052
27628
C:\Program Files (x86)\Java\jdk1.8.0_144\bin>jps -l
27396 org.jetbrains.jps.cmdline.Launcher
39416 sun.tools.jps.Jps
11052
27628
jps -v:输出虚拟机进程启动时 JVM 参数。
C:\Program Files (x86)\Java\jdk1.8.0_144\bin>jps -v
13424 Jps -Denv.class.path=C:\Program Files (x86)\Java\jdk1.8.0_144\lib\dt.jar;C:\Program Files (x86)\Java\jdk1.8.0_144\lib\tools.jar -Dapplication.home=C:\Program Files (x86)\Java\jd
k1.8.0_144 -Xms8m
27396 Launcher -Xmx700m -Djava.awt.headless=true -Djava.endorsed.dirs="" -Djdt.compiler.useSingleThread=true -Dpreload.project.path=C:/GiThubWorkSpace/algorithm -Dpreload.config.path=
C:/Users/15939/.IntelliJIdea2017.2/config/options -Dcompile.parallel=false -Drebuild.on.dependency.change=true -Djava.net.preferIPv4Stack=true -Dio.netty.initialSeedUniquifier=6446649
933730468386 -Dfile.encoding=GBK -Djps.file.types.component.name=FileTypeManager -Duser.language=zh -Duser.country=CN -Didea.paths.selector=IntelliJIdea2017.2 -Didea.home.path=C:\java
_Baby_Yun\javaSoftware\IntelliJ IDEA 2017.2.6 -Didea.config.path=C:\Users\15939\.IntelliJIdea2017.2\config -Didea.plugins.path=C:\Users\15939\.IntelliJIdea2017.2\config\plugins -Djps.
log.dir=C:/Users/15939