清楚地说明了Presto

时间:2018-09-03 07:15:49

标签: presto

如此对Presto中的内存设置感到困惑。请在下面查看此内容:

  1. query.max-memory

  2. query.max-memory-per-nodebase configenter image description here

  3. query.max-total-memoryrelease in 0.205enter image description here

  4. resources.reserved-system-memoryadmin propertiesenter image description here

  5. 内存池(常规池和预留池) enter image description here

这就是我能找到的全部。

这是我的Presto设置:

  1. etc / config.properties
  

query.max-memory = 2.25GB
  query.max-total-memory = 2.25GB
  query.max-memory-per-node = 0.75GB

  1. jvm:-Xmx3G -Xms3G

根据我的设置,我发现了以下规则:

  1. query.max-memory-per-node <= jvm * 0.25

  2. 常规池= jvm * 0.4,与resources.reserved-system-memory

  3. 的默认值相同
  4. 保留池= jvm * 0.3

这是我的问题:

  1. 各种内存设置之间的关系。 (就像resources.reserved-system-memory是通用池吗?query.max-total-memory =用户内存+系统内存,什么是用户内存和系统内存?)

  2. 通用池和保留池用于什么用途?如何更改它们的值?

  3. 常规池(占jvm的40%),预留池(占jvm的30%),jvm的最后30%在哪里?还是Presto如何分配我的3GB jvm内存?

1 个答案:

答案 0 :(得分:0)

reserved = query.max-memory-per-node 
system = 40% of heap 
general = heap - system - reserved