gpt4 book ai didi

java - 如何增加 Flink 内存大小

转载 作者:行者123 更新时间:2023-11-30 10:08:12 24 4
gpt4 key购买 nike

我正在尝试在 Flink 任务管理器上运行一个作业,但我遇到了这个异常:

Initializing the input processing failed: Too little memory provided to sorter to perform task. Required are at least 12 pages. Current page size is 32768 bytes.

我已经通过 flink-conf.yml 在任务和作业管理器中设置了堆大小,还有什么我应该更改以增加内存的吗?

taskmanager.heap.size: 4096m
taskmanager.memory.size: 4096m
jobmanager.heap.size: 2048m

最佳答案

错误信息表明排序器没有获得足够的内存页。原因是可用的托管内存不足。有多种方法可以解决这个问题:

  1. 通过 taskmanager.heap.size 增加 TaskManager 的可用内存
  2. 通过 taskmanager.memory.fraction 增加从 taskmanager.heap.size 获取的托管内存部分(默认为 0.7)
  3. 通过taskmanager.memory.segment-size减少页面大小
  4. 减少 TaskManager 上的插槽数量,因为每个 TM 的并行度降低会减少 TM 上的内存使用者数量(运算符(operator)获得更大份额的可用内存)

如果您只运行批处理加载,那么您还应该激活 taskmanager.memory.preallocate: true 这将在启动时启用内存分配。这通常更快,因为它减少了垃圾收集压力。

有关 taskmanager.memory.size 的另一条评论:此值始终需要小于或等于 taskmanager.heap.size,因为它指定了总体内存量堆空间将用于托管内存。如果未指定此参数,则 Flink 将占用一部分可用堆内存作为托管内存(通过 taskmanager.memory.fraction 指定)。

关于java - 如何增加 Flink 内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53858283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com