JVM参数详解

常用JVM参数解释

简介: JVM参数配置 -server C2引擎执行 -Xms20g 最小堆内存20G -Xmx20g 最大堆内存20G -Xmn8g 新生代8G -XX:PermSize=256m Perm大小256MB -XX:MaxPermSize=256m Perm大小256MB -XX...
JVM参数配置
-server C2引擎执行
-Xms20g 最小堆内存20G
-Xmx20g 最大堆内存20G
-Xmn8g 新生代8G
-XX:PermSize=256m Perm大小256MB
-XX:MaxPermSize=256m Perm大小256MB
-XX:SurvivorRatio=10 YoungGC 3个区的比例
-XX:+UseConcMarkSweepGC Old区使用CMS GC
-XX:+UseCMSCompactAtFullCollection 一旦触发FullGC对Old区进行压缩减少内存碎片
-XX:CMSMaxAbortablePrecleanTime=5000 CMS GC的回收超时时间,避免GC时间太久
-XX:+CMSClassUnloadingEnabled 支持CMS GC时对Perm区的Class和ClassLoader做GC,否则要等FullGC
-XX:CMSInitiatingOccupancyFraction=80 Old区达到80%时触发CMS GC,如果不设置,JVM会自适应,效果不好
-XX:+UseCMSInitiatingOccupancyOnly 只以CMSInitiatingOccupancyFraction设定的阈值为准,不加这个参数CMSInitiatingOccupancyFraction会不生效
-XX:+HeapDumpOnOutOfMemoryError OOM时自动jmap dump内存
-XX:HeapDumpPath= OOM时dump内存的位置
-Xloggc: GC log位置
-XX:+PrintGCDetails 打印GC详细信息
-XX:+PrintGCDateStamps 将GC时间由时间戳改为人类可识别的时刻点
-Dsun.net.client.defaultConnectTimeout=10000 socket连接超时时间
-Dsun.net.client.defaultReadTimeout=30000 socket读超时时间
-verbose:class 打印类加载信息
-XX:MaxDirectMemorySize=1g 控制DirectByteBuffer占用的堆外内存大小,防止堆外内存导致OOM
-XX:+ExplicitGCInvokesConcurrent 调用System.gc()时触发CMS GC而不是Full GC
-XX:ParallelGCThreads=${CPU_COUNT} 并发GC线程数(Young GC)
-Dfile.encoding=${JAVA_FILE_ENCODING} 文件默认编码

 

 

参考链接:https://developer.aliyun.com/article/691713

 

posted on 2021-03-29 22:16  @ 小浩  阅读(1094)  评论(0编辑  收藏  举报