一次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作业运维人员都能在调优之路上越走越远,避免不必要的资源浪费。
热门推荐
桂林新晋网红打卡地全攻略:从云端栈道到文艺园区
九月桂林摄影攻略:相公山日出&遇龙河日落,绝美画面等你捕捉
西安biangbiang面正宗做法大揭秘!🍜
biangbiang面:咸阳非遗美食探秘
机器人大乱斗第四章:你被终极BOSS虐了吗?
然哥解说:机器人大乱斗第四关搞笑集锦
阜宁夏季九大素食:从苋菜到木耳菜的清新滋味
陆军勤务学院:揭秘军校训练强度的日常
陆军工程大学:精英奖背后的训练秘籍
拉伸的重要性
火灾逃生自救指南:9大技巧助你化险为夷
美国洛杉矶火灾后 很多人无家可归 不知去从
春节档必看:《哪吒2》剧情大揭秘!
从佛教护法到道教精英:《封神演义》中哪吒形象的演变
《孙子兵法》中的经典军语及其现代应用
华佗再造丸:治疗中风后遗症的安全用药指南
中药治中风后遗症,真的靠谱吗?
安宫牛黄丸:中风后遗症的救星?
中药新药助力中风康复,你了解多少?
雄安新区到底有多大,2035年能建成吗?
酱汁红烧鸭
探访长汀,见证“红军桥”畔鱼水情
长汀豆腐干:闽西“八大干”之首的千年美味
从张家界自驾游到昆明的完整攻略:路线规划、行程安排、景点推荐及注意事项
张家界至云南自驾游全攻略:沿途美景与实用建议
轻松去除衣物上的葡萄汁渍,让烦恼消失!
掌握QARK:从零开始的Android安全测试入门
日本人月薪一般是多少?行业差异、地区差异及薪资水平调查
宠物外伤处理全攻略:从伤口分类到应急处理
猫咪“喵喵叫”是在述说什么?