JVM元数据空间增长分析

上一篇已经分析了(https://mp.****.net/postedit/102959321)JVM除了HEAP还有哪些内存占用,也进行了一部分的参数调优,但是并没有根本解决这个问题 ,只是发生内存占满的时间变长了一些。

上章的策略:1.减少xss占用  2.减少不必要的线程占用(主要集中在es线程,参数transport.netty.worker_count)

使用jcmd命令已经发现jvm的内存增长主要集中在class、code部分,所以分析可能有动态的类不断生成,

JVM元数据空间增长分析

分析过程:

选择每天进行堆内存文件的dump,JVM元数据空间增长分析使用MAT工具分析,JVM元数据空间增长分析

 

进入campareset,

JVM元数据空间增长分析

导出csv,然后过滤筛选出,新增的class,JVM元数据空间增长分析

 

可以发现生成了一堆的GenerateMethodAccessor类,查询资料发现是由于spring4.2.5以下版本,生成代理漏洞导致,参考:https://my.oschina.net/blackgladiolus/blog/854395