随笔 - 684  文章 - 0  评论 - 156  阅读 - 399万

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   @ 小浩  阅读(1180)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示