当前位置: 首页 > news >正文

记一次flink资源使用优化

一.现状分析

现有任务的资源配置如下,根据ui监控中Garbage Collection可以发现,此任务频繁的发生GC,且老年代GC时间较久
taskmanager资源监控.png

二.整体memory使用分析如下

  1. Framework Heap(框架堆内存)用于Flink框架自身的堆内存(如JobManager和TaskManager的元数据管理、调度器等)。

  2. Task Heap(任务堆内存) 指标值:4.12GB / 76% 使用(3.14GB/4.12GB) 作用: 用于Flink任务执行时的堆内存(如Kafka消费者、Paimon写入算子、状态后端缓存等)。
    当前分析: 使用率接近高风险阈值(>70%),导致频繁Full GC,出现OutOfMemoryError问题

  3. Managed Memory(托管内存) 指标值:3.50GB / 0% 使用(0B/3.50GB) 作用: Flink管理的堆外内存,用于状态后端(如RocksDB的缓存)和批处理操作。
    当前分析:状态后端使用的是FsStateBackend,占用的是Task Heap,此处未被使用

  4. Framework Off-Heap(框架堆外内存) 指标值:128MB / N/A 作用: Flink框架使用的堆外内存(如Netty网络缓冲区元数据)。
    当前分析: 默认配置足够,无需调整。

  5. Task Off-Heap(任务堆外内存) 指标值:0B / N/A 作用: 任务执行时的堆外内存(如自定义算子的Native库)。
    当前分析: 未启用,说明任务未使用堆外状态或自定义算子。无需调整

  6. Network(网络内存) 指标值:896MB / 0.59% 使用(5.28MB/896MB) 作用: 用于任务之间的网络数据传输(如Shuffle、广播等)。
    当前分析: 问题:使用率过低(<1%),存在资源浪费。

  7. JVM Metaspace(元空间) 指标值:256MB / 40.23% 使用(103MB/256MB) 作用: 存储JVM类元数据(如加载的类、方法信息)。
    当前分析: 使用率正常,无需调整。保持默认,除非出现Metaspace OOM。

  8. JVM Overhead(JVM开销内存) 指标值:1.00GB / N/A 作用: 预留的JVM内部开销内存(如线程栈、JNI等)。
    当前分析: 默认配置足够,无需调整。

三.最终优化措施

减少了Managed Memory和Network内存,增大Task Heap内存,效果如下图监控所示,大大减少了GC的数量,留有足够的Task Heap内存保证任务正常运行

flink的taskmanager资源优化后监控.png

http://www.lryc.cn/news/595695.html

相关文章:

  • Java内部类与Object类深度解析
  • 聊聊登录接口的混合加密:AES+RSA双剑合璧
  • 【node】npm包本地开发与调试
  • 深入解析Hadoop中的Region分裂与合并机制
  • 关于集合的底层数据结构
  • 【C++进阶】揭秘list迭代器:从底层实现到极致优化
  • Pulsar存储计算分离架构设计之Broker无状态
  • 飞算科技:用AI与数智科技,为产业数字化转型按下“加速键”
  • 《声音分类模型》
  • 一、Vue概述以及快速入门
  • 深度学习 --- 激活函数
  • Datawhale 202507 夏令营:让AI学会数学推理
  • Ultralytics代码详细解析(四:engine->trainer.py 训练部分代码详解)
  • 架构演进核心路线:从离线仓库到实时湖仓一体
  • EMA《2025-2028年药品监管中的数据与AI 1.3版》信息分析
  • vscode不识别vsix结尾的插件怎么解决?
  • SQL 基础案例解析
  • Oracle RAC+ADG switchover 切换演练流程
  • 景区负氧离子监测设备:守护清新,赋能旅游
  • 操作符练习
  • 倍增算法与应用(倍增优化之ST表、LCA、功能图、树上差分、贪心、二分)
  • mybatis多对一一对多的关联及拼接操作以及缓存处理
  • 主流开源LLM架构对比与突破·
  • 【Qt开发】Qt的背景介绍(四)
  • 项目复盘核心要点
  • 网络安全基础作业三
  • 图论的整合
  • JS WebAPIs DOM节点概述
  • v0+claude+cursor构建初始脚手架
  • 北京养老金计算公式网页实现案例:从需求分析到架构设计