最近才接触java,做了一个web网站api站点。做完以后发现metaspace一直上涨,站点只开半个小时 tomcate内存就占用一个多G,设置maxmetaspace=1g,一到回收站点就会卡死。
通过mat工具查看出现大量$$EnhancerBySpringCGLIB,查看程序发现并为用到spring代理。
最后检查发现 就是启用了@Scope( "prototype")造成非堆内存的类释放不了 而且总涨;
换掉这个内存马上下降。希望对不熟悉java的同学有用。
最近才接触java,做了一个web网站api站点。做完以后发现metaspace一直上涨,站点只开半个小时 tomcate内存就占用一个多G,设置maxmetaspace=1g,一到回收站点就会卡死。
通过mat工具查看出现大量$$EnhancerBySpringCGLIB,查看程序发现并为用到spring代理。
最后检查发现 就是启用了@Scope( "prototype")造成非堆内存的类释放不了 而且总涨;
换掉这个内存马上下降。希望对不熟悉java的同学有用。