一次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作业运维人员都能在调优之路上越走越远,避免不必要的资源浪费。
热门推荐
UPE机加工的相关知识
红绿灯二十几分钟还没变灯,开过去算闯红灯吗?交警:再说一次!
脑梗塞后的预防措施:从药物治疗到生活方式调整
躯体形式障碍:那些被误解的身体“神秘信号”,你读懂了吗?
Excel计算土体不均匀系数的详细步骤
什么是正报?什么是买单报关?两种报关模式有什么区别?
知识产权创立和保护措施有什么内容
“蓝脸的窦尔敦盗御马”!窦尔敦为什么是蓝脸?他本人是否存在?
好皮肤,吃出来
靶向药治疗和化疗有什么区别
靶向药和化疗的区别
团员自省谋奋进 班级交流共发展
数据结构:判断图是否有环的方法
如何了解房地产市场的调研方法?这种调研方法如何有效实施?
如何读取病人监护仪的各项参数呢?
股票市场动态:如何关注市场动态并及时调整投资策略
盘点人类数学史上的三次危机,最后一个危机至今仍旧无解!
一文详解,音箱与功放如何匹配
报表工具是否能为企业填报流程提供智能化推荐?
二手房增值税责任界定:由谁承担,了解您的买房成本分摊情况?
跳绳vs跑步:哪种运动才是真正的燃脂利器?
健康饮食的四大原则:均衡、适量、多样化和个体化
酸奶能拌西瓜吃吗?
研发费用人工工资如何合理分配?揭秘企业研发成本优化策略
M估计(M-estimation):统计学中的广义估计方法
电动自行车,到底怎么停才安全?
腹透肾友应该怎么吃?
刑事证据的种类及其重要性
西安文旅规划设计:融合历史文化与现代旅游元素,打造具有地方特色的全域旅游发展蓝图
黑枣的功效与作用及禁忌有哪些