JVM调参

1,296 阅读2分钟

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()

JVM参数设置

参考文章