Четкое объяснение всех видов памяти в Presto - PullRequest
0 голосов
/ 03 сентября 2018

Я ТАК путаю настройки памяти в Presto. Пожалуйста, проверьте это ниже:

  1. query.max-memory

  2. query.max-memory-per-node ( базовая конфигурация ) enter image description here

  3. query.max-total-memory ( выпуск в 0,205 ) enter image description here

  4. resources.reserved-system-memory ( Свойства администратора ) enter image description here

  5. Пулы памяти (общий пул и зарезервированный пул) enter image description here

Это все, что я могу узнать.

Вот мои настройки Presto:

  1. и т.д. / config.properties
* +1057 * query.max-память = 2.25GB
query.max-всего-память = 2.25GB
query.max-память по узлам = * 0.75 ГБ 1060 *
  1. jvm: -Xmx3G -Xms3G

Основываясь на моих настройках, я нашел следующие правила:

  1. query.max-memory-per-node <= jvm * 0,25 </p>

  2. Общий пул = JVM * 0,4, значение по умолчанию resources.reserved-system-memory

  3. Зарезервированный пул = JVM * 0,3

Вот мои вопросы:

  1. Связь между всеми видами настроек памяти. (например, resources.reserved-system-memory General Pool? query.max-total-memory = пользовательская память + системная память, что такое пользовательская память и системная память?)

  2. Для чего используется общий пул и зарезервированный пул? Как я могу изменить их значения?

  3. Общий пул (40% jvm), Резервный пул (30% jvm), где последние 30% jvm? или как Presto назначает мою 3ГБ память jvm?

1 Ответ

0 голосов
/ 30 октября 2018
reserved = query.max-memory-per-node 
system = 40% of heap 
general = heap - system - reserved 
...