JVM 常用配置参数(Java 8)

日志

-XX:+PrintFlagsFinal,打印JVM所有参数的值
-XX:+PrintGC,打印GC信息
-XX:+PrintGCDetails,打印GC详细信息
-XX:+PrintGCTimeStamps,打印GC的时间戳
-Xloggc:filename,设置GC log文件的位置
-XX:+PrintTenuringDistribution,查看熬过收集后剩余对象的年龄分布信息

 

dump 设置

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/heapdump.hprof,当 OOM 发生时自动 dump 堆内存信息到指定目录


内存设置

-Xms,设置堆的初始化内存大小
-Xmx,设置堆的最大内存
-Xmn,设置新生代内存大小
-Xss,设置线程栈大小
-XX:NewRatio,新生代与老年代比值
-XX:SurvivorRatio,新生代中Eden区与两个Survivor区的比值,默认为8,即Eden:Survivor:Survivor=8:1:1
-XX:MaxTenuringThreshold,从年轻代到老年代,最大晋升年龄。CMS 下默认为 6,G1 下默认为 15
-XX:MetaspaceSize,设置元空间的大小,第一次超过将触发 GC
-XX:MaxMetaspaceSize,元空间最大值
-XX:MaxDirectMemorySize,用于设置直接内存的最大值,限制通过 DirectByteBuffer 申请的内存
-XX:ReservedCodeCacheSize,用于设置 JIT 编译后的代码存放区大小,如果观察到这个值有限制,可以适当调大,一般够用即可


设置垃圾收集相关

-XX:+UseSerialGC,设置串行收集器
-XX:+UseParallelGC,设置并行收集器
-XX:+UseConcMarkSweepGC,使用CMS收集器
-XX:ParallelGCThreads,设置Parallel GC的线程数
-XX:MaxGCPauseMillis,GC最大暂停时间 ms
-XX:+UseG1GC,使用G1垃圾收集器


CMS 垃圾回收器相关

-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction,与前者配合使用,指定MajorGC的发生时机
-XX:+ExplicitGCInvokesConcurrent,代码调用 System.gc() 开始并行 FullGC,建议加上这个参数
-XX:+CMSScavengeBeforeRemark,表示开启或关闭在 CMS 重新标记阶段之前的清除(YGC)尝试,它可以降低 remark 时间,建议加上
-XX:+ParallelRefProcEnabled,可以用来并行处理 Reference,以加快处理速度,缩短耗时


G1 垃圾回收器相关

-XX:MaxGCPauseMillis,用于设置目标停顿时间,G1 会尽力达成
-XX:G1HeapRegionSize,用于设置小堆区大小,建议保持默认
-XX:InitiatingHeapOccupancyPercent,表示当整个堆内存使用达到一定比例(默认是 45%),并发标记阶段就会被启动
-XX:ConcGCThreads,表示并发垃圾收集器使用的线程数量,默认值随 JVM 运行的平台不同而变动,不建议修改


参数查询官网地址:
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html

 

 


【Java学习资源】整理推荐

  • MAT 分析堆内存快照
  • jclasslib 查看类信息
  • 增大 MAT 堆内存
  • JVM 常用配置参数(Java 8)
  • 40 道JVM面试题解答
  • JVM 问题排查常用指令
  • jvisualvm 远程连接服务器 JVM
  • 字节码指令分类
  • -verbose:gc 和 -XX:+PrintGC 的区别
  • JVM字节码指令表
  • 图解 Class 文件结构
  • Class 文件的结构
  • JVM 故障处理工具列表
  • HotSpot 内存分配的主要规则
  • 开启 GC 日志
  • 垃圾收集器及特点
  • JVM垃圾回收算法
  • 什么样的 Java 对象会被当垃圾回收?
  • 内存溢出复现
  • HotSpot VM 中对象的内存分析
  • JVM 控制的内存区域
  • JVM家族
  • Java 的发展史
  • 常见 JVM dump 指令

 

 


【Java面试题与答案】整理推荐

  • 基础与语法
  • 集合
  • 网络编程
  • 并发编程
  • Web
  • 安全
  • 设计模式
  • 框架
  • 算法与数据结构
  • 异常
  • 文件解析与生成
  • Linux
  • MySQL
  • Oracle
  • Redis
  • Dubbo

 

你可能感兴趣的:(JVM 常用配置参数(Java 8))