-
堆內(nèi)存
image.png
** 注:Virtual 為最小內(nèi)存與最大內(nèi)存之間的擴(kuò)展內(nèi)存唱遭。**
-Xmx
最大Heap Size匾竿,即上圖的JVM Heap(包括Eden+form+to企量,Old Gen查排,不包含Perm)彭雾,限制了年輕代和年老代的可分配最大值。
-Xms
初始化分配的Heap Size串稀。
生產(chǎn)環(huán)境中ms一般設(shè)置成跟mx相等除抛,因?yàn)槿鬽s不等于mx那么在某些場(chǎng)景下JVM可能需要對(duì)Heap Size進(jìn)行頻繁的擴(kuò)展和收縮,增加處理時(shí)間母截。
-Xmn
最大年輕代大小到忽,即上圖中的Eden+S0+S1+Virtual。
-XX:NewRatio
Old Gen/Young Gen,通過年老代和年輕代的比例和Heap Size就可以算出年老代的大小喘漏。
一般默認(rèn)為8护蝶,若Heap Size為1024m,則 Young Gen=HeapSize/(NewRatio+1)=114m翩迈,Old Gen=HeapSize-NewSize=910m持灰。
注意:-Xmn的優(yōu)先級(jí)比-XX:NewRatio高,若-Xmn已指定负饲,則Old Gen=HeapSize-Young Gen堤魁,無(wú)需再按比例計(jì)算。生產(chǎn)環(huán)境中一般只需指定-Xmn就足夠了绽族。
-XX:SurvivorRatio
Eden/S0姨涡,即 Eden區(qū)和S0的比例,默認(rèn)為8吧慢,若Young Gen為114m涛漂,則S0=Young Gen/(SurvivorRatio+2)=11.4m;
S0==S1,S0检诗、S1的職能是一模一樣的匈仗,又叫做From space和To space,在每一次minor gc后角色會(huì)交換逢慌。
-XX:MaxPermSize
最大持久代大小悠轩,默認(rèn)為64m。
-XX:PermSize
初始化持久代大小攻泼,默認(rèn)為16m火架。
生產(chǎn)環(huán)境中一般設(shè)置MaxPermSize和PermSize相等,理由和HeapSize的設(shè)置一樣忙菠,避免容量震蕩消耗資源何鸡;
當(dāng)應(yīng)用引用的類比較多或者應(yīng)用了一些動(dòng)態(tài)類生產(chǎn)技術(shù)時(shí)應(yīng)該加大該區(qū)的值,一般256m對(duì)服務(wù)器程序都很足夠了牛欢。
-XX:NewSize
初始化年輕代大小骡男,即上圖中的Eden+S0+S1.
在只設(shè)置了Xmn不設(shè)置-XX:NewSize的情況下,NewSize等于mn傍睹。
- 線程棧
-Xss
線程堆棧大小隔盛,一般用于存放方法入口參數(shù)和返回值,以及原子類型的本地變量(即方法內(nèi)部變量)拾稳。
一般可設(shè)置為128k吮炕。