前言

生产环境,我们的 Flink 作业偶尔会出现 heap OOM,那么当出现这种情况我们会怎么办?通常来说会通过 jmap 命令去将作业的 heap dump 一份文件出来,可是 jmap 导出的文件我们也看不懂啊,那么该怎么分析呢?今天推荐 memory analyzer(mat)这个工具,让他帮助我们来观察程序的内存分布情况吧。

MAT 不是一个万能工具,它并不能处理所有类型的堆存储文件。但是比较主流的厂家和格式,例如 Sun, HP, SAP 所采用的 HPROF 二进制堆存储文件,以及 IBM 的 PHD 堆存储文件等都能被很好的解析。下面来看看要怎么做呢,也许对你有用。官方文档:http://help.eclipse.org/luna/index.jsp?topic=/org.eclipse.mat.ui.help/welcome.html

造成OutOfMemoryError原因一般有2种:

1、内存泄露,对象已经死了,无法通过垃圾收集器进行自动回收,通过找出泄露的代码位置和原因,才好确定解决方案;

2、内存溢出,内存中的对象都还必须存活着,这说明Java堆分配空间不足,检查堆设置大小(-Xmx与-Xms),检查代码是否存在对象生命周期太长、持有状态时间过长的情况。

jmap 命令生成堆信息

jmap -dump:live,format=b,file=E:/jmap/heap.dump pid

Flink从入门到精通100篇(十二)-如何分析和定位 Flink 作业 OOM 问题?相关推荐

  1. Flink从入门到精通100篇(二十三)-基于Apache Flink的爱奇艺实时计算平台建设实践

    前言 随着大数据的快速发展,行业大数据服务越来越重要.同时,对大数据实时计算的要求也越来越高.今天会和大家分享下爱奇艺基于Apache Flink的实时计算平台建设实践. 今天的介绍会围绕下面三点展开 ...

  2. Flink从入门到精通100篇(二十一)-万字长文详解 Flink 中的 CopyOnWriteStateTable

    前言 现如今想阅读 HashMap 源码实际上比较简单,因为网上一大堆博客去分析 HashMap 和 ConcurrentHashMap.本文详细分析 CopyOnWriteStateTable 源码 ...

  3. Flink从入门到精通100篇(二十四)-对Flink SQL Client 源码做深度解析

    前言 本文基于 Flink 1.12-SNAPSHOT,使用sql client命令行提交insert语句进行整个流程的分析. sql-client.sh embedded --update &quo ...

  4. Flink从入门到精通100篇(二十二)- Flink应用实战案例:如何实现网络流控与反压机制

    目录 Flink 流处理为什么需要网络流控? Flink V1.5 版之前网络流控介绍 Flink V1.5 版之前的反压策略存在的问题 Credit的反压策略实现原理,Credit是如何解决 Fli ...

  5. Flink从入门到精通100篇(二十二)-Apache Flink OLAP引擎性能优化及应用

    前言 本次分享的主题为Apache Flink新场景--OLAP引擎,主要内容包括: 背景介绍 Apache Flink OLAP引擎 案例介绍 未来计划 1. OLAP及其分类 OLAP是一种让用户 ...

  6. Flink从入门到精通100篇(二十)-跨境电商 Shopee 的实时数仓之路

    前言 本文讲述 Flink 在 Shopee 新加坡数据组 ( Shopee Singapore Data Team ) 的应用实践,主要内容包括: 实时数仓建设背景 Flink 在实时数据数仓建设中 ...

  7. Flink从入门到精通100篇(二十二)-微博基于Flink的机器学习实战项目

    前言 微博作为国内比较主流的社交媒体平台,目前拥有2.22亿日活用户和5.16亿月活用户.如何为用户实时推荐优质内容,背后离不开微博的大规模机器学习平台.本文由微博机器学习研发中心高级算法工程师于茜老 ...

  8. Flink从入门到精通100篇(二十)-Zeppelin SDK在Flink 中的应用(附测试代码)

    前言 用过 Zeppelin 的人应该比较熟悉 Zeppelin 的 UI,因为 Zeppelin 的主要使用场景都是交互式,用户需要手动来操作.那除了这种手动的方式,还有其他的方式吗?如果你不想用 ...

  9. Flink从入门到精通100篇(二十三)-Flink实战应用案例:如何清理过期的 Checkpoint 目录?

    目录 Flink Checkpoint 目录的清除策略 生产环境应该选择哪种清除策略 生产环境必须定期脚本清理 Checkpoint 和 Savepoint 目录 RocksDB 增量 Checkpo ...

  10. Flink从入门到精通100篇(二十三)-Apache Flink在滴滴的应用与实践

    前言 Apache Flink 是一个分布式大数据处理引擎,可对有限数据流和无限数据流进行有状态计算.可部署在各种集群环境,对各种大小的数据规模进行快速计算. 滴滴基于 Apache Flink 做了 ...

最新文章

  1. 首批 iPhone 13 用户直呼太“坑”:​拍照有马赛克、不能用高刷、还与 Apple Watch “失联”?...
  2. 看完这部缓存进化史,还不懂缓存,请给我差评
  3. psp进度(11月25号-31号)
  4. 国产岚图入局高端智能电动车,对标特斯拉,放话一年内量产
  5. ADO.NET编程小错误
  6. LWIP再探----内存池管理
  7. CRM Interactive Report的UI设计
  8. ulead gif animator_搞笑GIF趣图:这风看来很大啊,今天回不来家了7
  9. 7-6 红豆生南国 (25 分)
  10. 吐嘈OpenCV的图像旋转功能 _7
  11. 深入剖析Redis事件驱动
  12. .net 中的DllImport
  13. centos 基础命令第一节
  14. Qt - QVariant
  15. php mysql 博客_基于PHP+MySQL的个人博客系统
  16. java kryo_通过Kryo的序列化方式提升Netty性能
  17. 多因子系列(二):基于机器学习选股策略(附源码)
  18. 计算机毕业设计Java宠物爱心救助系统(源码+系统+mysql数据库+lw文档)
  19. Oracle_02查询函数
  20. 银河麒麟操作系统使用

热门文章

  1. C++ Primer 学习笔记_75_模板与泛型编程 --模板定义
  2. Delphi从Internet下载文件
  3. 转载:一致性 hash 算法( consistent hashing )
  4. HttpWatch是强大的网页数据分析工具
  5. 云级Key-value数据库大比较
  6. WORD中怎么把文字转换成表格
  7. 最实用的Office使用技巧
  8. IT人的十八般武艺-序言
  9. loadrunner- winsock 函数总结
  10. CSP认证201709-1 打酱油[C++题解]:贪心