一次Flink生产环境内存调优实战
创作时间:
作者:
@小白创作中心
一次Flink生产环境内存调优实战
引用
CSDN
1.
https://blog.csdn.net/bigdatawcq/article/details/140047346
前言
在生产环境中上线一个Flink任务,原本稳定运行,突然出现OOM错误。初始资源配置如下:
-Djobmanager.memory.process.size=800mb
-Dtaskmanager.memory.process.size=2048mb
尽管为TaskManager分配了2GB内存,但仍然出现内存溢出。这可能是因为Flink有其特定的内存模型和默认分配策略,实际可用于数据处理的堆内存(task heap)并没有想象中那么多。
经过调整后,将TaskManager的内存配置改为:
-Dtaskmanager.memory.process.size=3072mb
-Dtaskmanager.memory.task.heap.size=1536mb
-Dtaskmanager.memory.managed.size=512mb
调整后的效果显示,虽然整体内存使用量减少到3GB,但实际用于数据处理的堆内存并未受到影响,反而优化了资源使用效率。
调节过程
查看Flink官方文档中的内存模型介绍,了解各个内存部分的分配和计算方式。Flink的内存模型图如下:
在调整过程中,考虑到该Flink作业对托管内存(managed memory)的需求不大,因此手动设置了较小的固定值。同时,将总内存设为3GB,其中一半(1.5GB)分配给任务堆内存,以确保资源得到充分使用。其他部分的内存则由Flink根据内存模型自动分配。
调整后的Flink内存模型显示,任务堆内存使用了我们指定的大小,而托管内存也通过手动设置避免了不必要的资源占用。整体内存使用量减少到3GB,相比直接分配4GB内存节省了1GB资源,且实际任务堆内存并未受到影响。
总结
这次调优是针对特定Flink作业的内存优化,由于该作业对托管内存需求不大,因此采取了这种配置方式。对于其他Flink作业,需要根据具体业务场景灵活调整内存配置。在设定过程中,一定要遵守Flink的内存计算规则和约束,这些信息在官网的介绍中有详细说明。
希望每位Flink作业运维人员都能在调优之路上越走越远,避免不必要的资源浪费。
热门推荐
二叉搜索树(查找、插入、删除的讲解实现+图文并茂)
两个黄鹂鸣翠柳:古诗的魅力与深意
乘飞机的有效证件不只是身份证哦,但有一点要注意~
立秋给孩子吃七珍丹好吗?专家提醒:需谨慎使用
好评or差评,基于买方的Steam评分系统最客观?
排队几小时充电半小时,媒体:新能源车“充电焦虑”如何化解
上线5年,中国广电终于可以携号转网了?
《华严经》深度解读:领悟缘起性空,迈向智慧与觉悟之路
【交通安全】@所有人,道路交通安全知识科普来了!
公司法务如何应对商业诉讼
重卦在易经里的解读方法
穿行大兴安岭步道:从森林到草原
浅析小提琴断音弓法技巧之弓不离弦的『顿弓』
新一代地震动参数区划图编制进展如何?中国地震局答红星新闻:预计2025年底可完成
2024年我国高性能改性塑料行业细分应用领域发展及预测
《快递市场管理办法》实施首日引热议,破解“未经同意将快件放服务站”有点难
哪吒的原材料“藕粉”火了!藕粉汤圆怎么吃营养又健康?
邓州市一日游:必去景点与周边游推荐
儿童的依恋模式,影响一生
刘诗诗演的古代“心医”靠谱不?《易经》藏着中国版MBTI人格测试原型
探索抖音十种拍摄风格:让短视频更具吸引力
浙江省地理知识全解
罗斯福新政是如何解决经济大萧条的?
如何通过官网查询失信人员名单
虾仁鸡蛋面线:一道简单易学的家常美食
光伏太阳能电池板的工作原理及其优点
2025文职岗位表将出!各类岗位分布、从事工作全解析!
干货!一副哑铃也能练全身各个肌群,告别昂贵健身卡
IPQC 巡检流程与方法全解析
行间距调整示例