线上内存泄漏排查

  1. 发现linux上服务 刚启动的时候是 占用700MB,
  2. 一直在跑商品同步,初步怀疑是商品同步的时候导致内存泄漏
  3. 开始排查 ps -aux|grep tomcat 使用查看内存 发现占用 2.5G
  4. 查看到 端口是 47407 使用 jmap -dump:live,format=b,file=heap5.hprof 47407
  5. 生成快照 heap.hprof
  6. idea安装 jprofiler
  7. windows安装 jprofiler
  8. 通过 jprofiler 启动项目,并且,调用同步商品接口, 通过 内存 cpu gc 线程 查看问题,发现gc没有问题,内存也没有问题,发现线程一直在增加,
  9. 排查到 生成线程池的方法在 某个方法内部,每次都重新创建, 将此代码移到 service层, 初始化生成一个
    10.继续跑商品同步,发现线程不在增加,问题解决
发布了64 篇原创文章 · 获赞 11 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/Summer_i/article/details/91370310