一次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作业运维人员都能在调优之路上越走越远,避免不必要的资源浪费。
热门推荐
文旅新探丨颐和园“金光穿洞”:与记者共拍美好瞬间
周末A股突发利好!明天周一开盘稳了吗?会不会又是黑色星期一?
干敏肌冬季防晒霜选哪种好
“中”和“的”有多重读音?一文读懂汉字多音字的奥秘
2024-25赛季法甲马赛引援名单:瓦希和扎鲁里重磅加盟
如何预防职业倦怠
有一种美叫云浮石艺
避雷器分类与型号参数详解:电力系统中的守护神
阿米巴经营:科技巨头背后的高效管理秘籍?
小学生记忆单词的方法及诀窍有哪些?
孩子做事3分钟热度,专注力差怎么办?
诸葛亮的名言警句有哪些?12个智慧金句,读懂践行,受益一生
Word参考文献插入与格式化指南:APA、MLA、Chicago格式详解
罗汉果热量高不高?揭秘其营养价值与影响
太阳直射点
ABS故障灯常亮怎么办?多种实用解决方案
帕金森病的药物治疗:早期+中晚期+非运动症状+精神及认知障碍
【防雷】浪涌保护器的选择与应用
工作期间岗位被“外包”,我到底是谁的员工?
特等功臣:享受顶级待遇的荣誉象征
黑蚂蚁的功效与作用
皮肤痒发红有小水泡?可能是这些原因
退网800多天后,罗永浩改名"罗永浩·钮祜禄"高调回归!九个平台上都开账号
中药饮片的储存养护管理指南
价托在投资中是什么意思?这种现象对价格趋势有何预示?
全网热议的AI Agent,到底是个啥?
哪些产品需要化妆品备案号
电磁兼容(EMC)基础知识详解:从干扰类型到解决方案
价托在投资中是什么意思?这种现象对价格趋势有何预示?
Steam服务器连接失败,网络不稳定的解决方案