Flink 性能优化总结(内存配置篇)

内存配置优化

Flink 内存模型

在这里插入图片描述

内存模型详解

进程内存(Total Process Memory):Flink 进程内存分为堆上内存和堆外内存,堆上内存和
堆外内存的主要区别在于它们的管理方式不同和使用方式不同,这些会影响到它们的性能和使用场景。
(1)JVM Heap(堆上内存):由 JVM 进行管理和分配的内存空间,可以快速的分配和释放内存,具有更好的内存管理和垃圾回收机制(JVM 垃圾回收机制)。
(2)OFF-Heap Memory(堆外内存):由操作系统进行管理和分配的内存空间,能够存储更大的数据和缓存,提供更好的性能和扩展性,堆外内存的使用的管理是要手动编码实现,相对于堆上内存更加复杂和容易出错。
JVM 内存: JVM 内存包括 JVM Mataspace(JVM 元空间)和 JVM OverHead(JVM 执行开销)
(1)JVM Mataspace(JVM 元空间):用于存放 class 文件中的类和方法等信息。
(2)JVM OverHead(JVM 执行开销):JVM 执行时自身所需要的内容,包括线程堆栈、IO、编译缓存等所使用的内存。
框架内存:框架内存即 TaskManager 本身占用的内存,包括 Framework Heap(框架堆上
内存)和 Framework Off-Heap(框架堆外内存),不计入 slot 资源。
网络内存:NetWork(网络内存)即网络数据交换所使用的堆外内存大小,如网络数据交换缓冲区。
托管内存:Managed Memory(托管内存)用于 Flink 中状态的缓存存储。
Task 内存:Task 内存分为 Task Heap(Task 堆上内存)和 Task Off-Heap(Task 堆外内存),这部分内存用于执行用户代码。

内存配置详解

JVM Mataspace(JVM 元空间):
在这里插入图片描述
JVM OverHead(JVM 执行开销):
在这里插入图片描述
JVM 执行开销计算方式:
执行开销 = 进程内存 * fraction。此计算结果必须落在[192m, 1g]区间内,超过此区间则取边界值。
框架内存:
在这里插入图片描述
Managed Memory(托管内存):
在这里插入图片描述
如果 taskmanager.memory.managed.size 未指定则使用总进程大小 * fraction。
NetWork(网络内存):
在这里插入图片描述
计算方式和 jvm 执行开销一样。
Task 内存:
在这里插入图片描述
Task 堆上内存为 none,为 Flink 内存扣除掉其他内存所得。

内存配置所做优化

优化前:
在这里插入图片描述
存在的问题:
1)进程总内存设置为 16g,但是 Task 所分得的堆内存只占 2 分之 1,容易造成频繁 GC,影响性能,甚至出现 OOM。
2)除了 Task 内存其他内存利用率不高,浪费资源,主要使用的就是 Task 内存资源。
优化后:在这里插入图片描述
优化参数(根据需求自行配置,根据内存使用率来调整):
taskmanager.memory.managed.size: 128m
taskmanager.memory.jvm-metaspace.size: 512m
taskmanager.memory.network.max: 256m
taskmanager.memory.jvm-overhead.max: 512m

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/738044.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

矩阵最大权值

题目描述 现有一个n∗m大小的矩阵,矩阵中的每个元素表示该位置的权值。现需要从矩阵左上角出发到达右下角,每次移动只能向上下左右移动一格(不允许移动到曾经经过的位置)。求最后到达右下角时路径上所有位置的权值之和的最大值。…

python实现--折半查找

python实现–顺序查找 python实现–折半查找 python实现–分块查找 python实现B/B树 折半查找(Binary Search),也称为二分查找,是一种高效的查找算法,适用于有序数组或列表。它的基本思想是通过每次将查找范围缩小为原…

vue 渲染pdf并盖章之后生成新的pdf

目录 1.渲染pdf 1.页面准备渲染的容器,使用canvas渲染 2.把文件流渲染到canvas上面 3.下载pdf.js插件 4.使用 2.盖章 1.印章图片 2.自定义指令拖拽 3.生成新的pdf 1.下载生成pdf插件 2.使用 4.页面效果图 1.展示pdf 2.拖拽盖章 3.生成pdf文件 5.整体代码 …

蓝月亮,蓝禾,奇安信,三七互娱,顺丰,康冠科技,金证科技24春招内推

蓝月亮,蓝禾,奇安信,三七互娱,顺丰,康冠科技,金证科技24春招内推 ①蓝月亮 【招聘岗位】技术,研发,lT,供应链,市场,职能等 【网申链接】https://s…

机器学习是什么?

机器学习是一门多学科交叉专业,涵盖概率论知识、统计学知识、近似理论知识和复杂算法知识等。它是人工智能领域的关键技术,专门研究计算机如何模拟或实现人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构&#xff0…

中兴R5300G4无法识别全部硬盘与服务器Smart31002100RAID卡修改端口模式配置方法

中兴R5300G4无法识别全部硬盘,需要启动UEFI模式。 问题描述 硬盘配置RAID或者HBA直通模式需要修改RAID卡的端口模式。 本文介绍服务器分别在legacy、UEFI模式下的配置方法。 适用产品 R5300 G4、R5500 G4、R8500 G4 解决方案 一.Legacy启动模式&#x…

编程笔记 html5cssjs 009 HTML链接 我的网址簿

编程笔记 html5&css&js 009 HTML链接 我的网址簿 一、代码二、解释 这段代码的主要功能是展示一个包含多个分类和网址的网址簿,每个分类下有多个网址链接。通过a标签的href属性,用户可以点击链接跳转到相应的网址。同时,通过style标签…

《剑指 Offer》专项突破版 - 面试题 77 和 78 : 详解归并排序(C++ 实现)

目录 归并排序详解 递归实现 迭代实现 面试题 77 : 链表排序 面试题 78 : 合并排序链表 法一、利用最小堆选取值最小的节点 法二、按照归并排序的思路合并链表 归并排序详解 归并排序就是将两个或两个以上的有序表合并成一个有序表的过程。将两个有序表合并成一个有序表…

机器学习-04-分类算法-01决策树案例

总结 本系列是机器学习课程的系列课程,主要介绍机器学习中分类算法,本篇为分类算法开篇与决策树部分。 本门课程的目标 完成一个特定行业的算法应用全过程: 懂业务会选择合适的算法数据处理算法训练算法调优算法融合 算法评估持续调优工程…

redis 缓冲区详解(性能优化缓冲区优化)

目录 前言 客户端输入缓冲区 输出缓冲区 集群缓冲区 全量复制缓冲区问题 增量复制缓冲区问题 前言 在我的《Redis 为啥那么快》这篇文章中,详细总结了Redis 为啥那么快。今天当我要详细阐述Redis 的缓冲区时,意识到应该加上Redis 的缓冲区。我们假…

初级爬虫实战——巴黎圣母院新闻

文章目录 发现宝藏一、 目标二、简单分析网页1. 寻找所有新闻2. 分析模块、版面和文章三、爬取新闻1. 爬取模块2. 爬取版面3. 爬取文章四、完整代码五、效果展示发现宝藏 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【宝藏入口】。 …

python-0001-安装虚拟环境

版本 软件版本python3.6django2.2.5sqlite33.45.1pycharm2023.3.4 升级sqlite3 下载地址:https://download.csdn.net/download/qq_41833259/88944701 升级命令: tar -zxvf sqlite-autoconf-3399999.tar.gz cd sqlite-autoconf-3399999 ./configure m…

01_04_JavaWEB03_XML、Tomcat、http

XML_Tomcat10_HTTP 参考尚硅谷再总结复习 一 XML XML是EXtensible Markup Language的缩写,翻译过来就是可扩展标记语言。所以很明显,XML和HTML一样都是标记语言,也就是说它们的基本语法都是标签。 可扩展 三个字表面上的意思是XML允许自定义…

docker套娃实践(待续)

安装Docker sudo apt-get updatesudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-pluginsudo usermod -aG docker $USERsudo chmod 666 /var/run/docker.sockDocker基础命令 # 基础命令 启动docker: systemctl start docker 停止dock…

VBA combox/listbox 控件响应鼠标滚轮事件

在vba中,我们在用户窗体中如果添加有combox控件,或者是listbox控件。正常情况下,combox 和 listbox 是不响应鼠标滚轮事件的,且默认的VBA控件中,也没有提供响应鼠标滚轮事件的方法和入口。如此以来,我们在c…

【毕设级项目】基于AI技术的多功能消防机器人(完整工程资料源码)

基于AI技术的多功能消防机器人演示效果 竞赛-基于AI技术的多功能消防机器人视频演示 前言 随着“自动化、智能化”成为数字时代发展的关键词,机器人逐步成为社会经济发展的重要主体之一,“机器换人”成为发展的全新趋势和时代潮流。在可预见的将来&#…

1. ag=do,act做,动

记忆单词非难事,原有捷径,认得ag识词多,立竿见影。 agdo,act做,动 agent[eiʤ(ə)nt]n.【ag 做,办理,-ent名词后缀,表示人;“做事者”&#xff…

Adobe Photoshop 2024 v25.5.1 for mac 强大的图形编辑工具 兼容 M1/M2/M3

Mac毒搜集到的Adobe Photoshop 2024 v25.5.1 是一款强大的图形编辑和设计工具! v25.5.1版本AI生成式无法使用 应用介绍 Adobe Photoshop 2024是一款强大的图像处理软件,由Adobe公司开发。它可以用于编辑和处理照片、图形和其他类型的图像,包括设计、绘画…

Mermaid 流程图

​ 文章目录 obsidianmermaid其它mermaid 使用flowchartobsidian 下载 obsidian obsidian apk下载办法_obsidian安卓版下载-CSDN博客 mermaid GitHub - mermaid-js/mermaid: Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner a…

鸿蒙网络请求

鸿蒙系统不断进化,适配的库也越来越丰富,其中网络请求是应用的一大需求。 Axios 是一个基于 promise 的网络请求库,可以运行 node.js 和浏览器中,包括: http 请求 Promise API request 和 response 拦截器 转换…