Doris 3.0.3 内存相关参数配置详解

在 Doris 3.0.3 中,内存管理是一个关键优化点,涉及多个配置参数。以下是 FE(Frontend)BE(Backend) 节点中与内存上限相关的核心参数,按模块分类整理:


一、FE(Frontend)内存配置

FE 是 Doris 的元数据管理与协调节点,主要内存消耗在 JVM 和查询管理。

1. JVM 堆内存
  • jvm_args
    通过 -Xmx-Xms 指定 JVM 的最大和初始堆内存。例如:
    -Xmx8g -Xms8g
    
    建议设置为物理内存的 70%-80%,需留出部分内存给堆外操作。
2. 元数据与查询管理
  • tablet_create_timeout
    创建 Tablet 的超时时间(默认 10 秒),间接影响内存使用。
  • max_conn_per_user
    单用户最大连接数(默认 100),高并发场景需调整以避免内存不足。
  • qe_max_connection
    总查询连接数限制(默认 1024),控制并发查询数量。

二、BE(Backend)内存配置

BE 负责数据存储和查询执行,内存管理更为复杂,需精细化控制。

1. 进程总内存限制
  • mem_limit
    BE 进程最大可用内存(默认 80% 的物理内存)。例如:
    mem_limit=64G
    
    必须显式设置,避免 BE 占用全部系统内存。
2. 查询执行内存
  • exec_mem_limit
    单个查询的内存上限(默认 2GB),超限触发 Cancel。
    可通过会话变量临时调整:SET exec_mem_limit=8G;

  • memory_maintenance_sleep_time
    内存维护线程的检查间隔(默认 10 秒),影响内存释放速度。

3. 导入任务内存
  • load_process_max_memory_limit
    单个 BE 上所有导入任务的总内存上限(默认 30% of mem_limit)。

  • load_process_max_memory_limit_per_task
    单个导入任务的内存上限(默认 2GB),适用于 Insert/Broker Load。

  • streaming_load_max_mb
    Stream Load 单次导入数据最大内存(默认 10GB),超限返回错误。

4. Compaction 内存
  • compaction_max_memory_limit
    Compaction 任务的最大内存(默认 20% of mem_limit),影响合并效率。
5. 存储缓存
  • storage_page_cache_limit
    Storage Page Cache 的大小(默认 20% of mem_limit),用于加速数据读取。
6. 内存优化与溢出
  • enable_spill
    是否启用内存溢出到磁盘(默认 true),大查询可减少 OOM。

  • disable_mem_pools
    禁用内存池(默认 false),关闭后减少内存碎片但可能增加开销。

7. Chunk 内存池
  • chunk_reserved_bytes_limit
    Chunk 内存池保留内存上限(默认 20% of mem_limit),用于高效内存分配。

三、高级配置与建议

  1. 系统参数
    调整 vm.overcommit_memory(建议 1)和 ulimit,避免操作系统限制导致 OOM。

  2. 监控工具
    通过 Doris 的 Web 界面或 Metrics 查看 memory_usagequery_mem_consumption 实时监控。

  3. 动态调整
    部分参数可通过 SET 语句动态修改,如 SET global exec_mem_limit=8G;


四、配置示例(BE)

# 关键参数示例(be.conf)
mem_limit = 64G
exec_mem_limit = 8G
load_process_max_memory_limit = 20G
storage_page_cache_limit = 12G
compaction_max_memory_limit = 12G
enable_spill = true
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值