Tomcat不能编译JSP文件的问题解决方案
在Tomcat出现类似如下异常:
The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError
这是由于Tomcat使用的是Ant进行编译JSP文件的,而Ant会因为JVM的最大使用内存设置过小而抛出这个异常,因此,需要重新设置JVM的最小和最大使用内存,可以通过两种方式进行设置:
1:设置环境变量,例如在Linux下,在.bashrc中增加export JAVA_OPTS=" -Xms128m -Xmx256m ",重新登陆后重起Tomcat即可。
2:修改Tomcat的启动文件catalina.sh,将"-Xms128m -Xmx256m"添加到启动参数JAVA_OPTS,重起Tomcata即可。
----------------------------------
因为最开始看到的是jsp的报错,以为是jdk设置的问题,
网上查了类似问题也都是说jdk的设置有问题引起的,反复试验,不管是jdk1.4.2的还是jdk1.5的,
还是手工把jar包拷贝到tomcat的common/lib路径,都没法解决问题; 3月底的备份代码取出来也是报这个错;
最后怀疑是不是虚拟内存太小导致的?打开tomcat的bin\catalina.bat ,往86行添加一行设置:
set JAVA_OPTS=-Xms256m -Xmx300m
注:
JAVA_OPTS='-Xms[初始化内存大小] -Xmx[可以使用的最大内存]'
参数 描述 -Xms JVM初始化堆的大小
-Xmx JVM堆的最大值,一般说来,你应该使用物理内存的80% 作为堆大小。
重启服务,不再报错
在Tomcat出现类似如下异常:
The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError
这是由于Tomcat使用的是Ant进行编译JSP文件的,而Ant会因为JVM的最大使用内存设置过小而抛出这个异常,因此,需要重新设置JVM的最小和最大使用内存,可以通过两种方式进行设置:
1:设置环境变量,例如在Linux下,在.bashrc中增加export JAVA_OPTS=" -Xms128m -Xmx256m ",重新登陆后重起Tomcat即可。
2:修改Tomcat的启动文件catalina.sh,将"-Xms128m -Xmx256m"添加到启动参数JAVA_OPTS,重起Tomcata即可。
----------------------------------
因为最开始看到的是jsp的报错,以为是jdk设置的问题,
网上查了类似问题也都是说jdk的设置有问题引起的,反复试验,不管是jdk1.4.2的还是jdk1.5的,
还是手工把jar包拷贝到tomcat的common/lib路径,都没法解决问题; 3月底的备份代码取出来也是报这个错;
最后怀疑是不是虚拟内存太小导致的?打开tomcat的bin\catalina.bat ,往86行添加一行设置:
set JAVA_OPTS=-Xms256m -Xmx300m
注:
JAVA_OPTS='-Xms[初始化内存大小] -Xmx[可以使用的最大内存]'
参数 描述 -Xms JVM初始化堆的大小
-Xmx JVM堆的最大值,一般说来,你应该使用物理内存的80% 作为堆大小。
重启服务,不再报错