Java VM启动参数笔记

Java VM启动参数笔记(1)

打印输出相关参数

  • 打印加载类的详细信息
verbose
  • 打印虚拟机中GC的详细情况:显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等
-verbose:gc
  • 虚拟机在出现内存溢出异常时Dump 出当前的内存堆转储快照
-XX:+HeapDumpOnOutOfMemoryError 
-XX:HeapDumpPath=/home/admin/logs/java.hprof
  • 打印加载类的详细信息
-XX:+TraceClassLoading
  • 详细了解GC中的变化
-XX:+PrintGCDetails
  • 了解垃圾收集发生的时间,自JVM启动后以秒计量
-XX:PrintGCDateStamps
  • GC日志文件的路径
-Xloggc:/home/admin/logs/gc.log

涉及堆相关的参数

  • server模式下,新生代选择的是并行GC,旧生代选择的是并行GC
  • client模式下,新生代选择的是串行GC,旧生代选择的是串行GC
-server
  • 堆的初始值2g
-Xms2g
  • 堆的最大值2g
-Xmx2g
  • PS:避免在运行时频繁调整Heap的大小,通常-Xms与-Xmx的值设成一样
  • 空余堆内存小于MinHeapFreeRation时,JVM会增大Heap到-Xmx指定的大小
-XX:MinHeapFreeRation=
  • 空余堆内存大于MaxHeapFreeRation时,JVM会减小heap的大小到-Xms指定的大小
-XX:MaxHeapFreeRation=
  • 新生代堆堆大小1g
-Xmn1g
  • 默认32:1:1
  • 新生代的Eden区:From区:To区的比例为8:1:1
-XX:SurvivorRatio=8
  • 永久代大小
-XX:PermSize=(JDK7)
  • 永久代MAX大小
-XX:MaxPermSize=(JDK7)
  • 代替PermSize,元空间大小
-XX:MetaspaceSize=(JDK8)
  • 代替MaxPermSize,元空间最大值
-XX:MaxMetaspaceSize=(JDK8)
原文地址:https://www.cnblogs.com/mak370/p/14579512.html