UseSerialGC
:开启此参数使用serial & serial old搜集器(client模式默认值)。
UseParNewGC
:开启此参数使用ParNew & serial old搜集器(不推荐)。
UseConcMarkSweepGC
:开启此参数使用ParNew & CMS(serial old为替补)搜集器。
UseParallelGC
:开启此参数使用parallel scavenge & parallel old搜集器(server模式默认值)。
UseParallelOldGC
:开启此参数在年老代使用parallel old搜集器(该参数在JDK1.5之后已无用)。
JVM各个内存区域大小相关参数
Xms
:堆的初始值。默认为物理内存的1/64,最大不超1G。
Xmx
:堆的最大值。默认为物理内存的1/4,最大不超1G。
Xmn
:新生代的大小。
Xss
:线程栈大小。
PermSize
:永久代初始大小。默认为物理内存的1/64,最大不超1G。
MaxPermSize
:永久代最大值。默认为物理内存的1/4,最大不超1G。
NewRatio
:新生代与年老代的比例。比如为3,则新生代占堆的1/4,年老代占3/4。
SurvivorRatio
:新生代中调整eden区与survivor区的比例,默认为8,即eden区为80%的大小,两个survivor分别为10%的大小。(备注:这个参数设定是讲解复制算法那一章中,解决复制算法内存减半的办法。eden区即是复制算法一章中80%的那部分,而survivor区则是两个10%的那部分。)
垃圾搜集器性能通用参数
PretenureSizeThreshold
:晋升年老代的对象大小。默认为0,比如设为10M,则超过10M的对象将不在eden区分配,而直接进入年老代。
MaxTenuringThreshold
:晋升老年代的最大年龄。默认为15,比如设为10,则对象在10次普通GC后将会被放入年老代。
DisableExplicitGC
:禁用System.gc()。
并行搜集器参数
ParallelGCThreads
:回收时开启的线程数。默认与CPU个数相等。
GCTimeRatio
:设置系统的吞吐量。比如设为99,则GC时间比为1/1+99=1%,也就是要求吞吐量为99%。若无法满足会缩小新生代大小。
MaxGCPauseMillis
:设置垃圾回收的最大停顿时间。若无法满足设置值,则会优先缩小新生代大小,仍无法满足的话则会牺牲吞吐量。
并发搜集器参数
CMSInitiatingOccupancyFraction
:触发CMS收集器的内存比例。比如60%的意思就是说,当内存达到60%,就会开始进行CMS并发收集。
UseCMSCompactAtFullCollection
:这个前面已经提过,用于在每一次CMS收集器清理垃圾后送一次内存整理。
CMSFullGCsBeforeCompaction
:设置在几次CMS垃圾收集后,触发一次内存整理。
GC相关系列基本就结束了,本篇文章只是做一个罗列,之后我们一起来进入虚拟机的源码世界吧。
UseSerialGC:开启此
参数
使用serial & serial old
搜集
器
(client模式默认值)。
UseParNewGC:开启此
参数
使用ParNew & serial old
搜集
器
(不推荐)。
UseConcMarkSweepGC:开启此
参数
使用ParNew & CMS(ser
为何要了
解
GC策略与原理?
原因在上一章其实已经有所触及,就是因为在平时的工作和研究当中,不可避免的会遇到
内存
溢出与
内存
泄露的问题。如果对GC策略与原理不了
解
的情况下碰到了前面所说的问题,很多时候会让人不知所措。
当我们了
解
了相关知识以后,虽然有时候依然不能很快的
解
决问题,但可以肯定的是,至少不会出现无计可施的情况。
GC策略
解
决了...
在上一章我们已经探讨过hotspot上
垃圾
搜集
器
的实现,一共有六种实现六种组合。本次LZ与各位一起探讨下这六种
搜集
器
各自的威力以及组合的威力如何。
为了方便各位的观看与对比,LZ决定采用当初写设计模式时使用的方式,针对某些
搜集
器
,分几个维度去
解
释...
在上一章我们已经探讨过hotspot上
垃圾
搜集
器
的实现,一共有六种实现六种组合。本次LZ与各位一起探讨下这六种
搜集
器
各自的威力以及组合的威力如何。
为了方便各位的观看与对比,LZ决定采用当初写设计模式时使用的方式,针对某些
搜集
器
,分几个维度去
解
释这些
搜集
器
。
client模式与server模式
在介绍本章内容之前...
零、堆的回顾:
新生代中的98%对象都是“朝生夕死”的,所以并不需要按照1:1的比例来划分
内存
空间,而是将
内存
分为一块比较大的Eden空间和两块较小的Survivor空间,每次使用Eden和其中一块Survivor。当回收时,将Eden和Survivor中还存活着的对象一次性地复制到另外一块Survivor空间上,最后清理掉Eden和刚才用过的Survivor空间。HotSpot虚拟机默认Eden和Survivor的大小比例是8: