JVM 设置
堆栈空间设置
- -XX:+PrintGCDetails
- -Xms: 初始堆大小
- -Xmx: 最大堆大小
- -Xmn: 新生代大小 NewSize=MaxNewSize
- -XX:NewSize: 新生代初始堆大小
- -XX:MaxNewSize: 新生代最大堆大小
- -Xss: 线程栈大小
- -XX:PermSize: 永久代(方法区)初始值
- -XX:MaxPermSize: 永久代最大值
- -XX:NewRatio: 老年代,新生代比例 old gen/young gen
- -XX:SurvivorRatio: 新生代中Eden区与survivior区比例 eden/s0=eden/s1
- -XX:MinHeapFreeRatio: 当堆空间的空闲内存小于这个数值时,JVM扩展堆空间
- -XX:MaxHeapFreeRatio: 当堆空间的空闲内存大于这个数值时,JVM压缩堆空间
- -XX:TargetSurvivorRatio: 当survivior区的空间使用率达到这个数值时,会将对象送入老年代
- -XX:MaxTenuringThreshold: 晋升老年代年龄,默认15
- -XX:PretenureSizeThreshold:设置大对象直接进入老年代的阈值
GC设置
串行回收器相关:
- -XX:+UseSerialGC:新生代老年代都使用串行手机器
- -XX:SurvivorRatio: 新生代中Eden区与survivior区比例 eden/s0=eden/s1
- -XX:PretenureSizeThreshold:设置大对象直接进入老年代的阈值
并行回收器相关:
- -XX:+UseParNewGC: 新生代使用并行收集器
- -XX:+UseParallelGC: 新生代使用并行回收收集器
- -XX:+UseParallelOldGC: 老年代使用并行回收收集器
- -XX:ParallelGCThreads: 线程数,等于CPU核数(或小于)
- -XX:MaxGCPauseMillis: 大于0,最大停顿时间
- -XX:GCTimeRatio: 0~100,吞吐量
- -XX:+UseAdaptiveSizePolicy: 自适应GC策略
CMS回收器相关:
- -XX:+UseConcMarkSweepGC: 新生代使用并行收集器,老年代使用CMS+串行收集器
- -XX:ParallelCMSThreads: 线程数
- -XX:CMSInitiationgOccupancyFraction: CMS收集器在老年代使用多少时触发。默认68{936b63963a8c9f2b24063da536a495a32039ff9ed9d82cacc18dd4741407c351}
- -XX:+UseCMSCompactAtFullCollection: CMS收集器完成回收之后是否要整理内存
- -XX:CMSFullGCsBeforeCompaction: 多少次CMS垃圾回收之后,进行一次内存压缩
- -XX:+CMSClassUnloadingEnabled: 允许类元数据回收
- -XX:+CMSParallelRemarkEnabled: 启用并行重标记
- -XX:CMSInitiatingPermOccupancyFraction: 当永久区占用率到达这个设置时启用CMS回收
- -XX:UseCMSInitiatingOccupancyOnly:只用到达阈值的时候才进行CMS回收
- -XX:+CMSincrementalMode: 使用增量模式,适合单CPU
G1回收器相关:
- -XX:+UseG1GC: 使用G1
- -XX:+UnlockExperimaentalVMOptions: 允许实验性参数
- -XX:MaxGCPauseMillis: 最大垃圾收集停顿时间
- -XX:GCPauseIntervalMillis: 停顿时间间隔
其他:
- -XX:+DisableExplicitGC: 禁用显式GC
摘抄自《Java程序性能优化》
>> 转载请注明来源:JVM 设置●非常感谢您的阅读,欢迎订阅微信公众号(右边扫一扫)以表达对我的认可与支持,我会在第一时间同步文章到公众号上。当然也可点击下方打赏按钮为我打赏。
●另外也可以支持一下我的副业,扫描右方代购二维码加我好友,不买看看也行。朋友在荷兰读医学博士,我和他合作经营的代购,欧洲正规商店采购,正品保证。
赏
免费分享,随意打赏
发表评论