[ 2024春节 Flink打卡 ] -- 优化(draft)
2024,游子未归乡。工作需要,flink coding。觉知此事要躬行,未休,特记
- 资源配置调优
- 内存设置
- TaskManager内存模型
https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/
TaskManager 内存模型

1、内存模型详解
- JVM 特定内存:JVM本身使用的内存,包含JVM的metaspace和over-head
1)JVM metaspace:JVM元空间
taskmanager.memory.jvm-metaspace.size,默认256mb
2)JVM over-head执行开销:JVM执行时自身所需要的内容,包括线程堆栈、IO、编译缓存等所使用的内存。
taskmanager.memory.jvm-overhead.fraction,默认0.1
taskmanager.memory.jvm-overhead.min,默认192mb
taskmanager.memory.jvm-overhead.max,默认1gb
总进程内存*fraction,如果小于配置的min(或大于配置的max)大小,则使用min/max大小
- 框架内存:Flink框架,即TaskManager本身所占用的内存,不计入Slot的资源中。
堆内:taskmanager.memory.framework.heap.size,默认128MB
堆外:taskmanager.memory.framework.off-heap.size,默认128MB
- Task内存:Task执行用户代码时所使用的内存
堆内:taskmanager.memory.task.heap.size,默认none,由Flink内存扣除掉其他部分的内存得到。
堆外:taskmanager.memory.task.off-heap.size,默认0,表示不使用堆外内存
- 网络内存:网络数据交换所使用的堆外内存大小,如网络数据交换缓冲区
堆外:taskmanager.memory.network.fraction,默认0.1
taskmanager.memory.network.min,默认64mb
taskmanager.memory.network.max,默认1gb
Flink内存*fraction,如果小于配置的min(或大于配置的max)大小,则使用min/max大小
- 托管内存:用于RocksDB State Backend 的本地内存和批的排序、哈希表、缓存中间结果。
堆外:taskmanager.memory.managed.fraction,默认0.4
taskmanager.memory.managed.size,默认none
如果size没指定,则等于Flink内存*fraction
2、案例分析
基于Yarn模式,一般参数指定的是总进程内存,taskmanager.memory.process.size,比如指定为4G,每一块内存得到大小如下:
(1)计算Flink内存
JVM元空间256m
JVM执行开销: 4g*0.1=409.6m,在[192m,1g]之间,最终结果409.6m
Flink内存=4g-256m-409.6m=3430.4m
(2)网络内存=3430.4m*0.1=343.04m,在[64m,1g]之间,最终结果343.04m
(3)托管内存=3430.4m*0.4=1372.16m
(4)框架内存,堆内和堆外都是128m
(5)Task堆内内存=3430.4m-128m-128m-343.04m-1372.16m=1459.2m


所以进程内存给多大,每一部分内存需不需要调整,可以看内存的使用率来调整。
相关文章:
[ 2024春节 Flink打卡 ] -- 优化(draft)
2024,游子未归乡。工作需要,flink coding。觉知此事要躬行,未休,特记 资源配置调优内存设置 TaskManager内存模型 https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/config/ TaskManager 内存模型…...
电脑进水无法开机怎么办 电脑进水开不了机的解决方法
意外总是会不定时打破你的计划,电脑这类电器最怕遇到的除了火还有水,设备进水会导致数据丢失,那么我们遇到电脑进水怎么办?进水之后不正确处理也会引起很多不必要的麻烦. 解决办法 第一步:关机 如果您的电脑是在开…...
【Flutter】底部导航BottomNavigationBar的使用
常用基本属性 属性名含义是否必须items底部导航栏的子项List是currentIndex当前显示索引否onTap底部导航栏的点击事件, Function(int)否type底部导航栏类型,定义 [BottomNavigationBar] 的布局和行为否selectedItemColor选中项图标和label的颜色否unsel…...
Vue封装全局公共方法
有的时候,我们需要在多个组件里调用一个公共方法,这样我们就能将这个方法封装成全局的公共方法。 我们先在src下的assets里新建一个js文件夹,然后建一个common.js的文件,如下图所示: 然后在common.js里写我们的公共方法,比如这里我们写了一个testLink的方法,然后在main…...
雪花算法生成分布式主键ID
直接上代码,复制即可使用 public class SnowflakeIdGenerator {private static final long START_TIMESTAMP 1624000000000L; // 设置起始时间戳,2021-06-18 00:00:00private static final long DATA_CENTER_ID_BITS 5L;private static final long WO…...
第三百五十九回
文章目录 1. 概念介绍2. 使用方法3. 代码与效果3.1 示例代码3.2 运行效果 4. 内容总结 013pickers2.gif 我们在上一章回中介绍了"如何实现Numberpicker"相关的内容,本章回中将介绍wheelChoose组件.闲话休提,让我们一起Talk Flutter吧。 1. 概念…...
vue3 用xlsx 解决 excel 低版本office无法打开问题
需求背景解决思路解决效果将json导出为excel将table导为excel导出样式 需求背景 原使用 vue3-json-excel ,导致在笔记本office环境下,出现兼容性问题 <vue3-json-excel class"export-btn" :fetch"excelGetList" :fields"js…...
Java后端底座从无到有的搭建(随笔)
文章目录 开发模式的演变草创时期1.0时期(基座时期)1.1时期(低代码时期)2.0时期(无代码时期) 前言:本文是笔者在初创公司,一年多来Java后端服务底座搭建过程的总结,如有不…...
Rust介绍与开发环境搭建
Rust 是一种系统编程语言,它专注于内存安全、并发和性能。它是由 Mozilla 开发的,并得到了许多社区的广泛支持。Rust 的设计理念是“安全 by default”,这意味着你不需要特殊的工具或技巧来编写安全的代码。 Rust 的主要特点: 内…...
本地TCP通讯(C++)
概要 利用TCP技术,实现本地ROS1和ROS2的通讯。 服务端代码 头文件 #include <ros/ros.h> #include "std_msgs/String.h" #include "std_msgs/Bool.h" #include <iostream> #include <cstring> #include <unistd.h>…...
docker 安装jenkins
使用 Docker 安装 Jenkins 是一种快速、方便的方法,可以避免本地环境的复杂依赖。以下是通过 Docker 安装 Jenkins 的基本步骤: 安装 Docker: 如果你的系统尚未安装 Docker,请先安装 Docker。对于 Ubuntu 系统,可以通过…...
电脑黑屏什么都不显示怎么办 电脑开机黑屏不显示任何东西的4种解决办法
相信有很多网友都有经历电脑开机黑屏不显示任何东西,找了很多方法都没处理好,其实关于这个的问题,首先还是要了解清楚开机黑屏的原因,才能够对症下药,下面大家可以跟小编一起来看看怎么解决吧 电脑开机黑屏不显示任何…...
MT8781核心板_MTK8781安卓核心板规格参数
MT8781安卓核心板以其强大的性能和高效的能耐备受瞩目。其八核CPU架构包括(2x Cortex-A76 2.2GHz 6x Cortex-A55 2.0GHz),以及高性能的Arm Mali G57级GPU。同时,配备高达2,133MHz的LPDDR4X内存和快速的UFS 2.2级存储,大大加速了数据访问速…...
HTML知识点
HTML 【一】HTML简介 【1】什么是HTML HTML是一种用于创建网页结构和内容的超文本标记语言,它是构建网页的基础。为了让浏览器正确渲染页面,我们必须遵循HTML的语法规则。浏览器在解析网页时会将HTML代码转换为可视化的页面,所以我们在浏览…...
聊聊分库分表
文章导读 背景介绍 随着互联网技术的发展,数据量呈爆炸性增长。大数据量的业务场景中,数据库成为系统性能瓶颈的一个主要因素。当单个数据库包含了太多数据或过高的访问量时,会出现查询缓慢、响应时间长等问题,严重影响用户体验。…...
小米标准模组+MCU 快速上手开发(二)——之模组串口调试
小米标准模组MCU 开发笔记之固件调试 背景技术名词简介● 小米IoT开发者平台● 小米IoT 模组● 固件● OTA● CRC32 固件双串口调试● MHCWB6S-IB 模组资料下载● MHCWB6S-IB 模组管脚图● 上电调试 背景 小米标准模组MCU的开发过程中,由于部分官方资料较为古早&am…...
Ubuntu22.04和Windows10双系统安装
概要 本篇演示Ubuntu22.04和Windows10双系统的安装。先安装Ubuntu22.04,再安装Windows10。 一、说明 1、电脑 笔者的电脑品牌是acer(宏碁/宏基) 电脑开机按F2进入BIOS 电脑开机按F12进入Boot Manager 2、U盘启动盘 需要用到两个U盘启动盘 (1&a…...
重新安装VSCode后,按住Ctrl(or Command) 点击鼠标左键不跳转问题
重新安装VSCode后,按住Ctrl(or Command) 点击鼠标左键不跳转问题 原因:重新安装一般是因为相应编程语言的插件被删除了或还没有下载。 本次是由于Python相关的插件被删除了,因此导致Python无法跳转。 解决办法 在vs…...
QPaint绘制自定义仪表盘组件01
网上抄别人的,只是放这里自己看一下,看完就删掉 ui Dashboard.pro QT core guigreaterThan(QT_MAJOR_VERSION, 4): QT widgetsCONFIG c11# You can make your code fail to compile if it uses deprecated APIs. # In order to do so, uncomm…...
华为笔记本原厂系统镜像恢复安装教程方法
1.安装方法有两种,一种是用PE安装,一种是华为工厂包安装(安装完成自带F10智能还原) 若没有原装系统文件,请在这里远程恢复安装:https://pan.baidu.com/s/166gtt2okmMmuPUL1Fo3Gpg?pwdm64f 提取码:m64f …...
GRF (1-43) (rat)
一、基础信息中文名称:大鼠生长激素释放因子 (1-43)英文名称:Growth Hormone-Releasing Factor (1-43), rat三字母序列:His-Ala-Asp-Ala-Ile-Phe-Thr-Ser-Ser-Tyr-Arg-Arg-Ile-Leu-Gly-Gln-Leu-Tyr-Ala-Arg-Lys-Leu-Leu-His-Glu-Ile-Met-Asn-…...
别再外挂EEPROM了!手把手教你用STM32G0内部Flash存数据(寄存器操作,附完整工程)
解锁STM32G0内部Flash潜能:寄存器级数据存储实战指南 在嵌入式系统设计中,外置EEPROM芯片曾是存储配置参数的标配方案。但当我们使用STM32G0这类现代微控制器时,其内部丰富的Flash资源其实可以完美替代外部存储芯片。本文将带您深入探索如何…...
比特币钱包密码恢复神器:如何用btcrecover找回遗忘的数字资产密码
比特币钱包密码恢复神器:如何用btcrecover找回遗忘的数字资产密码 【免费下载链接】btcrecover An open source Bitcoin wallet password and seed recovery tool designed for the case where you already know most of your password/seed, but need assistance i…...
用C语言搞定PTA数据结构7-1天梯地图:迪杰斯特拉算法实战与避坑指南
从零实现PTA天梯地图:双权重迪杰斯特拉算法全解析 当面对PTA数据结构7-1天梯地图这类双权重图的最短路径问题时,许多初学者会陷入算法选择的困境。本文将彻底拆解如何用C语言实现这一经典题目,不仅教你写出能AC的代码,更重要的是掌…...
别再被‘模糊’搞晕了!用Python模拟SAR距离模糊与方位模糊的直观对比(附代码)
用Python实战解析SAR成像中的距离模糊与方位模糊现象 当你第一次看到SAR图像上那些神秘的条纹和重影时,是否好奇这些"视觉噪音"从何而来?作为雷达成像领域的经典问题,距离模糊和方位模糊直接影响着图像质量。今天,我们不…...
2026年京东云OpenClaw/Hermes Agent配置Token Plan详细方法汇总
2026年京东云OpenClaw/Hermes Agent配置Token Plan详细方法汇总。OpenClaw是开源的个人AI助手,Hermes Agent则是一个能自我进化的AI智能体框架。阿里云提供计算巢、轻量服务器及无影云电脑三种部署OpenClaw 与 Hermes Agent的方案、百炼Token Plan兼容主流 AI 工具&…...
别再为printf发愁了!华大HC32L13x单片机串口打印的三种实战配置(Keil MDK环境)
华大HC32L13x单片机串口打印的三种高效配置方案 在嵌入式开发中,printf函数作为调试利器,其重要性不言而喻。然而,当您拿到华大HC32L13系列单片机官方SDK,按照常规ARM单片机经验配置printf时,却发现串口毫无反应——这…...
人工智能学习之归一化和标准化的区别
归一化与标准化(机器学习核心预处理笔记) 核心前提:机器学习中,特征的量纲(单位)可能差异极大(如:身高cm、体重kg、收入万元),会导致模型(如KNN、…...
别再手动编译库了!一招永久设置Vivado全局Modelsim仿真环境
永久配置Vivado与Modelsim联调环境的终极方案 每次新建FPGA工程都要重新配置仿真工具路径和编译库文件?这种重复劳动不仅浪费时间,还容易因配置不一致导致仿真失败。本文将揭示一种被多数工程师忽略的"一劳永逸"配置方案,通过系统级…...
阿钱¥¥¥openssl sm3 hmac api使用和命令行验证
1. 命令行格式验证sm3 hmacecho -n "abc" | openssl dgst -sm3 -hmac "01234567890123456789012345678901"说明:1. 01234567890123456789012345678901 为字符串key,共32位2. echo -n "abc",共abc3个字符长度&a…...
