jvm引數設定心得

2021-07-05 07:01:44 字數 640 閱讀 4085

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

區也不能太小,那樣會導致新生代的存活物件在

survivor

中放不下只能轉移到老年代去,老年代的快速增長意味著災難,可以通過調節

survivorratio

引數來改變

survivor

區的大小,

survivor

去的合適大小應該是程式記憶體**

15次之後在老年代沒有持續增長的條件下,

top看到的程式實際占用的記憶體減去新生代的

eden

區的大小後的2倍左右。老年代應該設定壓縮引數,消除記憶體碎片,否則會因為碎片過多而最後老年代去佔滿而啟動

full gc

,而且不可能湊效,將永遠

full gc

下去,後果不堪設想。新生代的設定最主要的看**頻率和每次**占用時間,在這兩個引數之間尋找平衡點,老年代也不能設定過大,那樣老年代的**占用時間會不可忍受

jvm常用引數設定

1 初始堆大小 預設值 物理記憶體的1 64 1gb 預設 minheapfreeratio引數可以調整 空餘堆記憶體小於40 時,jvm就會增大堆直到 xmx的最大限制。設定命令 xms 2 最大堆大小 預設值 物理記憶體的1 4 1gb 預設 maxheapfreeratio引數可以調整 空餘堆...

Spark中各個角色的JVM引數設定

總結一下spark中各個角色的jvm引數設定 1 driver的jvm引數 xmx,xms,如果是yarn client模式,則預設讀取spark env檔案中的spark driver memory值,xmx,xms值一樣大小 如果是yarn cluster模式,則讀取的是spark defaul...

引數設定 pandas引數設定小技巧

python大資料分析記錄 分享 成長 在日常使用pandas的過程中,由於我們所分析的資料表規模 格式上的差異,使得同樣的函式或方法作用在不同資料上的效果存在差異。而pandas有著自己的一套 引數設定系統 可以幫助我們在遇到不同的資料時靈活調節從而達到最好的效果,本文就將介紹pandas中常用的...