常用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} 文件默认编码

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章