jvm常用引數設定

2021-07-11 02:56:43 字數 955 閱讀 1917

1 初始堆大小:

預設值:物理記憶體的1/64(<1gb),預設(minheapfreeratio引數可以調整)空餘堆記憶體小於40%時,jvm就會增大堆直到-xmx的最大限制。

設定命令-xms

2 最大堆大小:

預設值:物理記憶體的1/4(<1gb),預設(maxheapfreeratio引數可以調整)空餘堆記憶體大於70%時,jvm會減少堆直到 -xms的最小限制。

3 年輕代大小

預設值:注意:此處的大小是(eden+ 2 survivor space).與jmap -heap中顯示的new gen是不同的。

整個堆大小=年輕代大小 + 年老代大小 + 持久代大小.

增大年輕代後,將會減小年老代大小.此值對系統效能影響較大,sun官方推薦配置為整個堆的3/8

設定命令:-xmn

4 設定持久代(perm gen)初始值

預設值:物理記憶體的1/64。

設定命令:-xx:permsize

5 設定持久代最大值

預設值:物理記憶體的1/4。

設定命令:-xx:maxpermsize

6 每個執行緒的堆疊大小

預設值:jdk5.0以後每個執行緒堆疊大小為1m,以前每個執行緒堆疊大小為256k.更具應用的執行緒所需記憶體大小進行 調整.在相同物理記憶體下,減小這個值能生成更多的執行緒.但是作業系統對乙個程序內的執行緒數還是有限制的,不能無限生成,經驗值在3000~5000左右

一般小的應用, 如果棧不是很深, 應該是128k夠用的 大的應用建議使用256k。這個選項對效能影響比較大,需要嚴格的測試。(校長)

和threadstacksize選項解釋很類似,官方文件似乎沒有解釋,在論壇中有這樣一句話:」」

-xss is translated in a vm flag named threadstacksize」

一般設定這個值就可以了。

設定命令:-xss

jvm引數設定心得

jvm 新生代到老年代的 次數閾值預設為15 新生代不能設定的過大,那樣會延長 時間。時間在0.02以上的級別程式會有異常,在0.004的級別程式基本正常,也不能設定的太小,那樣 次數過於頻繁,導致大量的新生代物件持續的到達老年代,因為短時間內 次數超多15次,而老年代的物件 會很耗時,應該盡量的避...

jvm 常用設定引數

部分參考 感謝樓主分享 jvm常用引數設定 首先先明白引數的型別 1 標準引數 所有的jvm實現都必須實現這些引數的功能 2 非標準引數 x 預設jvm實現這些引數的功能,但是並不保證所有jvm實現都滿足,且不保證向後相容 3 非stable引數 xx 此類引數各個jvm實現會有所不同,將來可能會隨...

vim常用引數設定

set guifont monaco h10 適合ruby開發的字型 字型大小 set tabstop 4 設定tab鍵的寬度 set shiftwidth 4 換行時行間交錯使用4個空格 set autoindent 自動對齊 set backspace 2 設定退格鍵可用 set cindent...