gc 優化的兩個目標:
將進入老年代的物件數量降到最低
減少 full gc 的執行時間
gc 優化的基本原則是:將不同的 gc 引數應用到兩個及以上的伺服器上然後比較它們的效能,然後將那些被證明可以提高效能或減少 gc 執行時間的引數應用於最終的工作伺服器上。
gc 優化需要考慮的 jvm 引數
型別引數
描述堆記憶體大小
-xms
啟動 jvm 時堆記憶體的大小
-xmx
堆記憶體最大限制
新生代空間大小
-xx:newratio
新生代和老年代的記憶體比
-xx:newsize
新生代記憶體大小
-xx:survivorratio
eden 區和 survivor 區的記憶體比
gc 優化時最常用的引數是-xms
,-xmx
和-xx:newratio
。-xms
和-xmx
引數通常是必須的,所以newratio
的值將對 gc 效能產生重要的影響。
有些人可能會問如何設定永久代記憶體大小,你可以用-xx:permsize
和-xx:maxpermsize
引數來進行設定,但是要記住,只有當出現outofmemoryerror
錯誤時你才需要去設定永久代記憶體
參考博文:
jvm基礎知識參考博文:
Spark效能調優 JVM調優
通過一張圖讓你明白以下四個問題 1.jvm gc機制,堆記憶體的組成 2.spark的調優為什麼會和jvm的調優會有關聯?因為scala也是基於jvm執行的語言 3.spark中oom產生的原因 4.如何在jvm這個層面上來對spark進行調優 補充 spark程式執行時 jvm堆記憶體分配比例 r...
jvm 效能調優工具
工具 jpsjps l 主程序 jps m 執行傳入主類的引數 jps v 虛擬機器引數 jstat jstat gcutil pid 1000 1秒 jstat jinfo jmap jmap histo pid jmap dump formart b,file filepath pid jhat...
JVM效能調優篇
2.效能參照指標 1 執行時間 2 cpu時間 3 記憶體分配 4 磁碟吞噬量 描述io的使用情況 5 網路吞吐量 6 響應時間 3.加速比公式 加速比 1 f 3.效能調優層次 1 設計調優 2 調優 3 jvm調優 4 資料庫調優 5 作業系統調優 4.基本調優策略和手段 1 優化的一般步驟 確...