通過一張圖讓你明白以下四個問題
1.jvm gc機制,堆記憶體的組成
2.spark的調優為什麼會和jvm的調優會有關聯?--因為scala也是基於jvm執行的語言
3.spark中oom產生的原因
4.如何在jvm這個層面上來對spark進行調優
補充:
spark程式執行時--jvm堆記憶體分配比例
rdd快取的資料(0.6) 預設
物件_task執行時產生的(0.2) 預設
聚合記憶體_shuffle read拉來的資料(0.2) 預設
手動分配記憶體時,不能去調節task執行時的記憶體,可以去調節其他的rdd memory or shuffle read_聚合記憶體來間接調節task執行記憶體
JVM效能調優
gc 優化的兩個目標 將進入老年代的物件數量降到最低 減少 full gc 的執行時間 gc 優化的基本原則是 將不同的 gc 引數應用到兩個及以上的伺服器上然後比較它們的效能,然後將那些被證明可以提高效能或減少 gc 執行時間的引數應用於最終的工作伺服器上。gc 優化需要考慮的 jvm 引數 型別...
spark 效能調優
核心調優引數如下 num executors executor memory executor cores driver memory spark.default.parallelizm spark.storage.memoryfraction spark.shuffle.memoryfractio...
Spark效能調優
日常工作使用spark處理業務問題中不可避免的都會碰到需要對spark的效能進行調優的情況,這裡就介紹一下對spark的效能調優。1.調節記憶體分配 因為在spark中堆記憶體被劃分為兩塊,一塊是給rdd的cache和persist操作rdd資料快取使用的,另一塊是給spark運算元函式使用的,函式...