JVM调优命令大全
| 命令 | 英文全称 | 作用 | 使用详解 |
|---|---|---|---|
| jps | JVM Process Status | 显示指定系统内所有的HotSpot虚拟机进程 | -l : 输出主类全名或jar路径 -q:只输出LVMID -m : 输出JVM启动时传递给main()的参数 -v : 输出JVM启动时显示指定的JVM参数 |
| jstat | JVM statistics Monitoring | 用于监视虚拟机运行时状态信息的命令,它可以显示出虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。 | |
| jmap | JVM Memory Map | 命令用于生成heap dump文件如果不使用这个命令,还阔以使用-XX:+HeapDumpOnOutOfMemoryError参数来让虚拟机出现OOM的时候,自动生成dump文件。 | |
| jhat | JVM Heap Analysis Tool | 令是与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,可以在浏览器中查看。 | 这种用法比较少,一般会使用Java内存分析工具MAT(Memory Analyzer Tool) |
| jstack | jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。线程出现停顿的时候通过jstack来查看各个线程的调用堆栈,就可以知道没有响应的线程到底在后台做什么事情,或者等待什么资源。 | ||
| jinfo | JVM Configuration info | 实时查看和调整虚拟机运行参数 | -flag : 输出指定args参数的值 -flags : 不需要args参数,输出所有JVM参数的值 -sysprops : 输出系统属性,等同于System.getProperties() |