您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關JVM中flag設置的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
本文研究的主要是JVM中的flag設置詳解的相關內容,具體介紹如下。
-Xmx3550m:設置JVM最大可用內存為3550M。
-Xms3550m:設置JVM初始可用內存為3550M。
-Xmn2g:設置年輕代大小為2G。
-Xss128k:設置每個線程的堆棧大小為128K
-XX:NewSize=4:設置年輕代大小為4
-XX:NewRatio=4:設置年輕代(包括Eden和兩個Survivor區)與老年代(除去持久代)的比值為4,則年輕代與年老代所占比值為1:4,年輕代占整個堆棧的1/5
-XX:SurvivorRatio=4:設置年輕代中Eden區與Survivor區的大小比值.設置為4,則兩個Survivor區與一個Eden區的比值為2:4,一個Survivor區占整個年輕代的1/6
-XX:MaxPermSize=16m:設置持久代大小為16m.
-XX:PretenureSizeThreshold=n,大于n的對象直接放入老年代
-XX:MaxTenuringThreshold=0:設置垃圾最大年齡.如果設置為0的話,則年輕代對象不經過Survivor區,直接進入年老代.
-XX:+UseParallelOldGC:配置年老代垃圾收集方式為并行收集.
整個堆大小 = 年輕代大小 + 老年代大小 + 持久代大小。
-XX:+UseSerialGC:設置串行收集器
-XX:+UseParallelGC:設置并行收集器
-XX:+UseParalledlOldGC:設置并行年老代收集器
-XX:+UseConcMarkSweepGC:設置并發收集器
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
-XX:ParallelGCThreads=n:設置并行收集器收集時使用的CPU數.并行收集線程數.
-XX:MaxGCPauseMillis=n:設置并行收集最大暫停時間
-XX:GCTimeRatio=n:設置垃圾回收時間占程序運行時間的百分比.公式為1/(1+n)
-XX:+CMSIncrementalMode:設置為增量模式.適用于單CPU情況.
-XX:ParallelGCThreads=n:設置并發收集器年輕代收集方式為并行收集時,使用的CPU數.并行收集線程數.
假設有個名為TestMem.java 的文件
javac TestMem.java java -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8 TestMem
-Xms20M:JVM中Java堆的初始大小為20M。(包括新生代和老年代)
-Xmx20M:JVM中Java堆的最大大小為20M,也就是說不可擴展。(包括新生代和老年代)
-Xmn10M:新生代的大小為10M
-XX:+PrintGCDetails:打印詳細GC信息
-XX:SurvivorRatio=8:新生代中一個Enden與一個Survivor區的空間比例是8:1,則兩個Survivor區與一個Eden區的比值為2:8,一個Survivor區占整個年輕代的1/10
知道上面的的flag信息之后,我們可以得到以下信息:
java堆的總大小為20M = 20 * 1024K = 20480K
新生代的大小:10M = 10 * 1024K = 10240K
eden space:10240K * 8/10 = 8192K
from space:10240K * 1/10 = 1024K
to space:10240K * 1/10 = 1024K
老年代的大小:20M - 10M = 10M = 10240K
關于“JVM中flag設置的方法”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。