首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用的任务管理器托管内存显示为零。

使用的任务管理器托管内存显示为零。
EN

Stack Overflow用户
提问于 2022-12-04 13:46:39
回答 1查看 13关注 0票数 1

我正在尝试调优使用FlinkOperator部署的flink作业的内存配置。下面是我正在使用的内存设置。如本文档所述,我只配置了全部内存。https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/memory/mem_setup_tm/

代码语言:javascript
运行
复制
taskmanager.memory.process.size: "8000m"
taskmanager.memory.task.off-heap.size: "500m"
taskmanager.memory.jvm-metaspace.size: "250m" 

当作业开始处理时,指标显示flink_taskmanager_Status_Flink_Memory_Managed_Used始终为零。其中flink_taskmanager_Status_Flink_Memory_Managed_Total设置为5G。

这个配置还好吗?(编辑)

EN

回答 1

Stack Overflow用户

发布于 2022-12-04 14:28:53

在我看来,Flink作业的内存配置是不正确的。您使用的内存设置仅定义Flink任务管理器可用的总内存,但不指定应如何使用该内存。

您需要指定用于不同用途的内存量,例如JVM堆、堆外内存和托管内存。可以通过设置以下配置选项来做到这一点:

  1. taskmanager.memory.process.size:此选项定义Flink任务管理器进程可用的总内存。它应该被设置为一个大于其他内存settings.
  2. taskmanager.memory.jvm-heap.size:之和的值,这个选项定义了应该分配给JVM堆的内存量。这个内存由Flink运行时使用,并且应该足够大以满足Flink job.
  3. taskmanager.memory.task.off-heap.size:的需要。这个选项定义了应该为Flink作业中的每个任务分配的堆外内存量。此内存用于无法存储在JVM heap.
  4. taskmanager.memory.jvm-metaspace.size:上的数据结构和中间结果--该选项定义了应该分配给JVM元空间的内存量。此内存用于类元数据,并应设置为适合Flink作业的值。

除了这些内存设置之外,还需要设置taskmanager.memory.managed.size选项来定义为Flink作业中的每个任务分配的托管内存量

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74677189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档