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
联系方式