Hi Team,
I have noticed the following Spark configuration is being applied, though it's not defined in our repo or anywhere in the policies:
spark.memory.offHeap.enabled = true
spark.memory.offHeap.size = Around 3/4 of the node instance memory (i.e 1-3X of executor memory)
This setup leaves around only 1/4 of the node's memory for executor allocation. While we can override this config setting in our own spark configuration but not sure how it is set.
Such large off-heap allocation is rarely needed for our case.
1, Do you have any specific recommendations to use these much off-heap memory?
2, May I know where the off-heap memory config is set in the Databricks cluster? Additionally, could you explain the rational behind allocating more off-heap memory than executor memory in this strategy?
Databricks Runtime version: 12.2 LTS (includes Apache Spark 3.3.2, Scala 2.12) and 13.3 LTS
Thanks & Regards,
Sowanth