开发的应用程序平时运行时没有问题,当同时使用人数达到10人左右时,过不了多久就报告PermGen
内存溢出,狂晕了一段时间,通过在百度上搜索,
发现产生此问题的原因是应为装载的class太多造成的。当服务器收到大量http请求时,tomcat需要首先编译jsp文件,这个时候会装载需要的class,又因为PermGen不会自动回收内存就会造成内存溢出。解决方案:一是将需要用到的class文件放置到tomcat下的share/lib和share/classes目录下;二是通过在catalina.bat文件中指定以下代码set JAVA_OPTS=-server -XX:PermSize=128M -XX:MaxPermSize=256m -Xms256m -Xmx1024m来解决。