假如某個JAVA進(jìn)程的JVM參數(shù)配置如下:
-Xms1G -Xmx2G -Xmn500M -XX:MaxPermSize=64M -XX:+UseConcMarkSweepGC -XX:SurvivorRatio=3,
請問eden區(qū)最終分配的大小是多少替裆?
解析:
Xms 起始內(nèi)存
Xmx 最大內(nèi)存
Xmn 新生代內(nèi)存
Xss 棧大小鬓照。 就是創(chuàng)建線程后闪朱,分配給每一個線程的內(nèi)存大小
-XX:NewRatio=n:設(shè)置年輕代和年老代的比值迫悠。如:為3拒名,表示年輕代與年老代比值為1:3安寺,年輕代占整個年輕代年老代和的1/4
-XX:SurvivorRatio=n:年輕代中Eden區(qū)與兩個Survivor區(qū)的比值凡壤。注意Survivor區(qū)有兩個勺远。如:3橙喘,表示Eden:Survivor=3:2,一個Survivor區(qū)占整個年輕代的1/5
-XX:MaxPermSize=n:設(shè)置持久代大小
收集器設(shè)置
-XX:+UseSerialGC:設(shè)置串行收集器
-XX:+UseParallelGC:設(shè)置并行收集器
-XX:+UseParalledlOldGC:設(shè)置并行年老代收集器
-XX:+UseConcMarkSweepGC:設(shè)置并發(fā)收集器
垃圾回收統(tǒng)計信息
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
并行收集器設(shè)置
-XX:ParallelGCThreads=n:設(shè)置并行收集器收集時使用的CPU數(shù)胶逢。并行收集線程數(shù)厅瞎。
-XX:MaxGCPauseMillis=n:設(shè)置并行收集最大暫停時間
-XX:GCTimeRatio=n:設(shè)置垃圾回收時間占程序運行時間的百分比。公式為1/(1+n)
并發(fā)收集器設(shè)置
-XX:+CMSIncrementalMode:設(shè)置為增量模式初坠。適用于單CPU情況和簸。
-XX:ParallelGCThreads=n:設(shè)置并發(fā)收集器年輕代收集方式為并行收集時,使用的CPU數(shù)碟刺。并行收集線程數(shù)锁保。
新生代總共分為3+2 份,所以500*(3/5)=300M