当前位置: 首页 > 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.dtcms.com/a/292004.html

相关文章:

  • 《Uniapp-Vue 3-TS 实战开发》自定义时间选择
  • @DateTimeFormat、@JsonFormat、@JSONField区别及用法
  • 获取制定版本的yolov5,使用下载zip文件替代git
  • C++核心编程学习4--类和对象--封装
  • J2EE模式---前端控制器模式
  • 智慧能源合同解决方案
  • Apache Ignite 中乐观事务(OPTIMISTIC Transactions)的工作机制
  • WAF 防护与漏洞扫描联动:让安全防御更精准高效
  • 50期权交易的典型例子
  • K 近邻算法(K-Nearest Neighbors, KNN)详解及案例
  • MySQL 学习二 MVCC
  • 【时时三省】(C语言基础)指向函数的指针
  • SpringCloud Nacos配置中心
  • CentOS 8文件描述符耗尽检测与处理实战指南
  • Linux CentOS 虚拟机升级内核至4.x以上版本
  • 为何在 Vue 的 v-model 指令中不能使用可选链(Optional Chaining)?
  • AI-调查研究-35-咖啡价格战 味觉与消费体验差异:自制咖啡为何更“好喝”?
  • 【Practical Business English Oral Scene Interpretation】 No9~10
  • vue 用hbuilder打包apk后返回键不好使
  • importlib.import_module() 的用法与实战案例
  • 重构创作边界:川翔云电脑 - UE5云端超算引擎​
  • B端UI组件库重构:如何让开发效率提升40%的交互逻辑拆解
  • 拥抱区块链红利:机遇无限,风险暗涌
  • Python 绘制各类折线图全指南:从基础到进阶
  • MATLAB软件使用频繁,企业如何做到“少买多用”?
  • 互联网隐私的未来:Web3、区块链与神秘法宝
  • Function Modifier
  • 动漫短剧系统开发:构建下一代沉浸式娱乐平台的架构设计与技术突破
  • 使用qt编写上位机程序,出现串口死掉无法接受数据的bug
  • Kotlin 中的单例模式(Singleton)与对象声明