关于tomcat溢出的几个方案

1、查找系统较多的损耗资源模块进行优化,所有使用的变量不用的时候全部赋null,及时召唤jvm进行

GC。

2、加大Tomcat的内存设置,内存设置参数参考系统运行时使用的最大内存值

3、log4j不要用了,只用common-logging,减少控制台输出

4、 因为proxool内部包含了一个老版本的cglib,cglib使用最新的,因为spring在AOP时使用CBLIB会动

态产生很多类。 新版本的在这一块有所改善。

5、如果以上方法都不行,采用小孔的建议,换jdk。因为sun的jdk有些问题。
SUN 的JVM把内存分了不同的区,其中一个就是permenter区用来存放用得非常多的类和类描述。本来SUN

设计的时候认为这个区域在JVM启动的时候就固定了,但他没有想到现在动态会用得这么广泛。而且这个

区域有特殊的垃圾收回机制,现在的问题是动态加载类到这个区域后,gc根本没办法回收!

你可能感兴趣的:(spring,jvm,AOP,tomcat,log4j)