JVM中flag設(shè)置的方法-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)JVM中flag設(shè)置的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司于2013年開(kāi)始,先為吉木薩爾等服務(wù)建站,吉木薩爾等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為吉木薩爾企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

本文研究的主要是JVM中的flag設(shè)置詳解的相關(guān)內(nèi)容,具體介紹如下。

一、堆大小設(shè)置

-Xmx3550m:設(shè)置JVM大可用內(nèi)存為3550M。

-Xms3550m:設(shè)置JVM初始可用內(nèi)存為3550M。

-Xmn2g:設(shè)置年輕代大小為2G。

-Xss128k:設(shè)置每個(gè)線程的堆棧大小為128K

-XX:NewSize=4:設(shè)置年輕代大小為4

-XX:NewRatio=4:設(shè)置年輕代(包括Eden和兩個(gè)Survivor區(qū))與老年代(除去持久代)的比值為4,則年輕代與年老代所占比值為1:4,年輕代占整個(gè)堆棧的1/5

-XX:SurvivorRatio=4:設(shè)置年輕代中Eden區(qū)與Survivor區(qū)的大小比值.設(shè)置為4,則兩個(gè)Survivor區(qū)與一個(gè)Eden區(qū)的比值為2:4,一個(gè)Survivor區(qū)占整個(gè)年輕代的1/6

-XX:MaxPermSize=16m:設(shè)置持久代大小為16m.

-XX:PretenureSizeThreshold=n,大于n的對(duì)象直接放入老年代

-XX:MaxTenuringThreshold=0:設(shè)置垃圾大年齡.如果設(shè)置為0的話,則年輕代對(duì)象不經(jīng)過(guò)Survivor區(qū),直接進(jìn)入年老代.

-XX:+UseParallelOldGC:配置年老代垃圾收集方式為并行收集.

整個(gè)堆大小 = 年輕代大小 + 老年代大小 + 持久代大小。

JVM中flag設(shè)置的方法

二、收集器設(shè)置

-XX:+UseSerialGC:設(shè)置串行收集器
-XX:+UseParallelGC:設(shè)置并行收集器
-XX:+UseParalledlOldGC:設(shè)置并行年老代收集器
-XX:+UseConcMarkSweepGC:設(shè)置并發(fā)收集器

JVM中flag設(shè)置的方法

三、垃圾回收統(tǒng)計(jì)信息

-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename

JVM中flag設(shè)置的方法

四、并行收集器設(shè)置

-XX:ParallelGCThreads=n:設(shè)置并行收集器收集時(shí)使用的CPU數(shù).并行收集線程數(shù).
-XX:MaxGCPauseMillis=n:設(shè)置并行收集大暫停時(shí)間
-XX:GCTimeRatio=n:設(shè)置垃圾回收時(shí)間占程序運(yùn)行時(shí)間的百分比.公式為1/(1+n)

五、并發(fā)收集器設(shè)置

-XX:+CMSIncrementalMode:設(shè)置為增量模式.適用于單CPU情況.
-XX:ParallelGCThreads=n:設(shè)置并發(fā)收集器年輕代收集方式為并行收集時(shí),使用的CPU數(shù).并行收集線程數(shù).

下面舉個(gè)例子:

假設(shè)有個(gè)名為T(mén)estMem.java 的文件

javac TestMem.java 
java -verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8 TestMem

-Xms20M:JVM中Java堆的初始大小為20M。(包括新生代和老年代)
-Xmx20M:JVM中Java堆的大大小為20M,也就是說(shuō)不可擴(kuò)展。(包括新生代和老年代)
-Xmn10M:新生代的大小為10M
-XX:+PrintGCDetails:打印詳細(xì)GC信息
-XX:SurvivorRatio=8:新生代中一個(gè)Enden與一個(gè)Survivor區(qū)的空間比例是8:1,則兩個(gè)Survivor區(qū)與一個(gè)Eden區(qū)的比值為2:8,一個(gè)Survivor區(qū)占整個(gè)年輕代的1/10

知道上面的的flag信息之后,我們可以得到以下信息:

java堆的總大小為20M = 20 * 1024K = 20480K
新生代的大?。?0M = 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

關(guān)于“JVM中flag設(shè)置的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

網(wǎng)頁(yè)標(biāo)題:JVM中flag設(shè)置的方法-創(chuàng)新互聯(lián)
瀏覽地址:http://muchs.cn/article40/cdeheo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈搜索引擎優(yōu)化、建站公司、用戶體驗(yàn)、虛擬主機(jī)品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)