有许多类似的问题都问到了这个或类似的问题。
它们都给出了必须执行的命令,但我不明白在哪里编写此命令。我想永久增加我的Tomcat应用程序的堆空间。
我阅读了这个页面http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html,并且在Tomcat部分中提到:
停止Tomcat服务器,设置环境变量CATALINA_OPTS,然后重新启动Tomcat。查看文件tomcat-install/bin/catalina.sh或catalina.bat以了解如何使用此变量。例如,
set CATALINA_OPTS=-Xms512m -Xmx512m (Windows,值周围没有引号)
export CATALINA_OPTS="-Xms512m -Xmx512m" (ksh/bash,值周围有引号)
setenv CATALINA_OPTS "-Xms512m -Xmx512m" (tcsh/csh,值周围有引号)
因此,我将行
set CATALINA_OPTS=
替换为
set CATALINA_OPTS=-Xms512m -Xmx512m
但我仍然收到错误信息。
javax.servlet.ServletException: Servlet execution threw an exception
root cause
java.lang.OutOfMemoryError: Java heap space java.lang.reflect.Array.multiNewArray(本机方法) java.lang.reflect.Array.newInstance(Array.java:90) nom.tam.util.ArrayFuncs.newInstance(ArrayFuncs.java:1028) nom.tam.fits.ImageData.read(ImageData.java:259)
nom.tam.fits.Fits.readHDU(Fits.java:573) controller.UploadServlet.retreiveFITSFileFields(UploadServlet.java:206) controller.ScanServerFiles.doPost(ScanServerFiles.java:39) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
nom.tam.fits.Fits.readHDU(Fits.java:573) controller.UploadServlet.retreiveFITSFileFields(UploadServlet.java:206) controller.ScanServerFiles.doPost(ScanServerFiles.java:39) javax.servlet.http.HttpServlet.service(HttpServlet.java:637) javax.servlet.http.HttpServlet.service(HttpServlet.java:717)