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即可!