JVM参数

169 阅读1分钟

Trace 跟踪参数

  1. 打印GC的简要信息: -Xlog:gc
  2. 打印GC详细信息:-Xlog:gc*
  3. 指定GC log 的位置,以文件输出:-Xlog:gc:garbage-collection.log
    1. gc日志格式
      1. GC发生的时间,JVM从启动以来经过的秒数
      2. 日志级别信息,和日志类型标记
      3. GC识别号
      4. GC类型和说明GC的原因
      5. 容量:GC前容量-> GC后容量(该区域总容量)
      6. GC持续时间,单位秒。有的收集器会有更详细的描述,比如:user 表示应用程序消耗的时间,sys表示系统内核消耗的时间、real表示操作从开始到结束的时间

##Java堆的参数

  1. Xms:初始化堆大小,默认物理内存的1/64
  2. XMx: 最大堆大小,默认物理内存的1/4
  3. Xmn: 新生代大小,默认整个堆的3/8
  4. -XX:+HeapDumpOnOutOfMemoryError: OOM时导出堆到文件
  5. -XX:+HeapDumpPath:导出OOM的路径
  6. -XX:NewRatio: 老年代与新生代的比值 如果xms=xmx,且设置了xmn的情况下,该参数不用设置
  7. -XX:SurvivorRatio: Eden区和Survivor区的大小比值,设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor占整个新生的1/10
  8. -XX:OnOutOfMemoryError: 在OOM时,执行一个脚本

Java 栈的参数

  1. -Xss:通常只有几百K,决定了函数调用的深度

元空间的参数(了解)

  1. -XX:MetaspaceSize:初始空间大小
  2. -XX:MaxMetaspaceSize:最大空间,默认是没有限制的
  3. -XX:MinMetaspaceFreeRatio:在GC之后,最小的Metaspace剩余空间容量的百分比
  4. -XX:MaxMetaspaceFreeRatio:在GC之后,最大的Metaspace剩余空间容量的百分比