JVM常见命令与参数设置

  1. jps,查看正在运行的Java进程,如jps -l

  2. jstack + “进程号”,分析该Java进程的栈空间情况

  3. jinfo + “-flag” + “参数” + “进程号”,查看该Java进程的该项参数的大小(K-V型)或者是否开启了(是否型)

  4. jinfo + “-flags” + “进程号”,查看该Java进程的所有相关系数情况

  5. jconsole,调出Java可视化监控管理器

  6. javac + “java文件名(有.java后缀)”,将Java文件编译成class文件

  7. javap + “class文件名(没.class后缀)”,将class文件反编译成汇编语言

  8. -Xmx,等价于 -XX:MaxHeapSize,最大堆内存,一般为运行内存的 1/4

  9. -Xms,等价于-XX:InitialHeapSize,初始化堆内存大小

  10. -Xss,等价于-XX:ThreadStackSize,单个线程栈空间的大小

  11. -XX:MetaspaceSize,设置元空间的内存大小

  12. -XX:+PrintGCDetails:开启打印输出GC的工作日志

  13. -XX:+TraceClassLoading,开启追踪类加载时的日志

  14. -XX:+TraceClassUnloading,开启追踪类卸载时的日志

  15. -XX:SurvivorRatio,JVM堆内存中的年轻代的Eden、From、To的比例,默认为8,即8:1:1

  16. -XX:NewRatio,JVM堆内存中的年轻代和老年代的比列,默认是2,即1:2

  17. -XX:MaxTenuringThreshold,对象从新生代到老年代的年龄阈值(K-V型,没有+号,直接使用=赋值)

  18. java -XX:+PrintFlagsInitial,该命令可以查看JVM “初始” 所有启动参数的值(但是有些参数大小会根据实际机型内存等变化)
    如: “初始” 最大堆内存,uintx MaxHeapSize = 130862280 {product}

  19. java -XX:+PrintFlagsFinal,该命令查看JVM “最终” 所有启动参数的值(有变化用 := 表示);
    如: “最终”最大堆内存(内存的1/4,本机内存12G)
    uintx MaxHeapSize := 3187671040 {product}

(但是有些参数大小会根据实际机型内存等变化)在这里有体现。

  1. java -XX:+PrintCommandLineFlags -version,查看一些已经被用户、JVM重新设置过的参数的名称和值;也即它列举出一些-XX:+PrintFlagsFinal的结果中有 “:=” 的参数,可以快速查看初始化堆内存大小、默认垃圾回收器等。

这部分JVM参数都是XX型的,-XX:,是否型使用+或-分别表示开启或者关闭;赋值型,没有+、-,直接使用“参数=值”的形式

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