Jvm内存排查

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

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

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/acker-ploy/p/11634798.html
今日推荐