presto - Presto中各种内存的清晰解释

标签 presto

我是 SO 对 Presto 中的内存设置感到困惑。请在下面查看:

  • query.max-memory
  • query.max-memory-per-node ( base config )
    enter image description here
  • query.max-total-memory ( release in 0.205 )
    enter image description here
  • resources.reserved-system-memory ( admin properties )
    enter image description here
  • 内存池(通用池和保留池)
    enter image description here

  • 这就是我所能找到的。

    这是我的 Presto 设置:
  • etc/config.properties

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


  • jvm:-Xmx3G -Xms3G

  • 根据我的设置,我发现了这些规则:
  • query.max-memory-per-node <= jvm * 0.25
  • General Pool = jvm * 0.4,与默认值resources.reserved-system-memory相同
  • 保留池 = jvm * 0.3

  • 以下是我的问题:
  • 各种内存设置之间的关系。 (比如resources.reserved-system-memory是通用池?query.max-total-memory=用户内存+系统内存,什么是用户内存和系统内存?)
  • 通用池和预留池有什么用?我怎样才能改变他们的值(value)观?
  • General Pool(40% of jvm), Reserved Pool(30% of jvm),jvm最后30%在哪里?或者 Presto 如何分配我的 3GB jvm 内存?
  • 最佳答案

    reserved = query.max-memory-per-node 
    system = 40% of heap 
    general = heap - system - reserved 
    
  • presto-tuning
  • about the memory manager
  • LocalMemoryManager
  • #10512
  • 关于presto - Presto中各种内存的清晰解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52144822/

    相关文章:

    sql - 如何使用 'must be an aggregate expression or appear in GROUP BY clause' 子句修复 'as'

    unicode - 使用 presto sql 和 AWS athena 中的编码将 varbinary 转换为 varchar

    sql - 时间范围表 SQL Presto

    presto - Presto 是否开箱即用地在内部缓存中间结果?

    sql - 如何根据前一行创建列?

    sql - Athena sql 查询查找不包含值的项目

    sql - 如何从 Presto 中的前一行获取 date_diff?

    amazon-s3 - Presto 和 Hive

    amazon-web-services - Presto SQL : TO_UNIXTIME

    emr - EMR 上 Zeppelin 中的 Presto 解释器