Jvm内存排查

Posted acker-ploy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jvm内存排查相关的知识,希望对你有一定的参考价值。

  最近公司项目经常出现OOM,dump出堆栈信息发现User对象占了80%的内存,

  检查代码未发现有查询全量用户信息的地方,该现象连续出现了一个星期,都是User对象引起的,

  仔细查看日志发现有一个接口调用异常频繁,再结合代码分析发现在接口层上一级有一个拦截器,校验session里面的用户信息,

  可以断定问题基本上就在此处,每次请求接口时将查询的用户信息放入session,并且未设置session超时时间(默认半小时),

  当访问量大是会出现内存暴增,

  修复方案:下session信息存入Redis缓存,做session共享

以上是关于Jvm内存排查的主要内容,如果未能解决你的问题,请参考以下文章

jvm堆外内存排查详解

jvm内存增长问题排查

JVM故障问题排查心得「内存诊断系列」JVM内存与Kubernetes中pod的内存容器的内存不一致所引发的OOMKilled问题总结(下)

技能篇:linux服务性能问题排查及jvm调优思路

生产环境-jvm内存溢出-jprofile问题排查

JVM 线上故障排查基本操作--内容问题排查