#apache-spark
Вопрос:
Я пытаюсь понять некоторые значения метрик, связанных с памятью, о которых сообщается в метриках исполнителя от каждого исполнителя в приложении apache spark. В частности, эти
- JVMHeapMemory
- Память о предстоящем выполнении
- Onheapstoragemory
- OnHeapUnifiedMemory
Согласно документации на странице мониторинга Spark, эти показатели должны быть максимальными значениями памяти, но значение, которое я вижу в задании spark, выглядит следующим образом
21/09/25 13:25:06 ИНФОРМАЦИОННЫЕ показатели: тип=ДАТЧИК, имя=приложение_1632317519942_0618.драйвер.ИсполнитЕльская метрика.JVMHeapMemory, значение=260976800 21/09/25 13:25:06 ИНФОРМАЦИОННЫЕ показатели: тип=ДАТЧИК, имя=приложение_1632317519942_0618.драйвер.ИсполнитЕльская метрика.OnHeapExecutionMemory, значение=0 21/09/25 13:25:06 ИНФОРМАЦИОННЫЕ показатели: тип=ДАТЧИК, имя=приложение_1632317519942_0618.драйвер.ИсполнитЕльская метрика.OnHeapStorageMemory, значение=561315 21/09/25 13:25:06 ИНФОРМАЦИОННЫЕ показатели: тип=ДАТЧИК, имя=приложение_1632317519942_0618.драйвер.ИсполнитЕльская метрика.OnHeapUnifiedMemory, значение=561315
21/09/25 13:25:06 ИНФОРМАЦИОННЫЕ показатели: тип=ДАТЧИК, имя=приложение_1632317519942_0618.драйвер.ИсполнитЕльская метрика.JVMOffHeapMemory, значение=241239736 21/09/25 13:25:06 ИНФОРМАЦИОННЫЕ показатели: тип=ДАТЧИК, имя=приложение_1632317519942_0618.драйвер.ИсполнитЕльская метрика.OffHeapStorageMemory, значение=0 21/09/25 13:25:06 ИНФОРМАЦИОННЫЕ показатели: тип=ДАТЧИК, имя=приложение_1632317519942_0618.драйвер.ИсполнитЕльская метрика.Отключенная память, значение=0
В соответствии с моим пониманием JVM В памяти кучи должна быть = Память об использовании памяти Память об использовании памяти Зарезервированная память (~300 МБ) Память пользователя (0,25 * (память кучи — зарезервированная память))
Но, как вы можете видеть, объем памяти для выполнения и хранения в куче намного меньше по сравнению с общим объемом jvm в памяти кучи. И я хотел бы понять это лучше. Может кто-нибудь, пожалуйста, объяснить это?