记录一次堆外内存溢出

注:其实问题并不是由我排查的,只是想记一下思路,来推动自己的进步

# 问题描述:

  一个使用kafka进行流处理的项目不断发生 oom 被系统kill掉的情况

# 分析排查

  1. 刚开始的时候项目启动时并没有指定初始堆内存,先假设是因为堆内存使用过大导致系统内存使用100%而被kill掉

  问题1尝试解决:

    1. 指定初始堆内存的大小,假设为1G, 分析堆内存的使用,发现仍然过一段时间后会被系统kill掉,排除是因为堆内存溢出的原因

  2. 堆外内存,使用 gperftools 来进行分析(具体使用网上有很多教程),发现是kafka的某些版本的gzip模块会导致该问题

# 解决:

  kafka版本更新等方案,有能力可以去修改kafka的代码

posted on 2018-10-29 13:50  斜月三星一太阳  阅读(705)  评论(0编辑  收藏  举报