关于tomcat内存泄漏问题

来源:互联网 发布:己知抛物线y= 编辑:程序博客网 时间:2024/04/28 16:44

 WEB服务器经常down机,造成网站无法访问,tomcat成最大凶犯了。
 查看tomcat日志,经常出现的提示有:
StandardWrapperValve[default]: Servlet.service() for servlet default threw exception
java.lang.OutOfMemoryError

这明显是个内存泄漏问题。
之前设置JAVA虚拟机JVM采用网上介绍的一种方式,在E:/Tomcat 5.0/bin种的catalina.bat文件种进行编辑,将JAVA_OPTS='-Xms512m -Xmx512m' 改成需要的大小。但是,结果却证明,修改这里的信息是完全没有生效的!这里使用了检测JVM内存大小的代码:
out.println("JVM MAX MEMORY: " + Runtime.getRuntime().maxMemory()/1024/1024+"M");
out.println("JVM IS USING MEMORY:" + Runtime.getRuntime().totalMemory()/1024/1024+"M");

实际上,网上的信息只可供参考,在我们实际的环境中还需要考虑,这里最简单有效的办法,就是直接使用tomcat的启动界面设置java的initial memory pool 和 maximum memory pool即可!