Spark内存溢出

一.场景:

在实时任务 注册和激活相关的任务 GamePublishKpi 中,程序运行一段时间,就会报内存溢出

 

二.分析方法

  1.  ps -ef | grep  GamePublishKpi  找出运行的程序
  2.   jmap -heap 27075(进程号)  查看该程序的运行过程中内存的使用情况

该命令对应的参数解读: http://blog.csdn.net/yrpting/article/details/52859721

 

本次遇到的问题就是  Old Generation  内存持续增长,也就是说一些内存没有释放

 

三.分析

 代码看了很多遍 该释放的内存都释放了,应该是spark内部框架的问题,查看资料了解到 spark-ui 默认显示1000个jobs的运行情况,没有达到1000个jobs时,会缓存运行状况在内存中,内存随着job数量增加而增加,所以可以通过参数修改spark-ui的 显示个数

 

spark-submit \

--masteryarn-client  \

--confspark.ui.retainedJobs=12 \

--confspark.sql.ui.retainedExecutions=30 \

--executor-memory 2G\

--classcom.xiaopeng.bi.gamepublish.GamePublishKpi \

/home/hduser/projs/xiaopeng_bi_kpi_regi.jar600

 

参考资料:

http://宋亚飞.中国/post/228

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值