Tomcat 7を使用してアプリケーションをデプロイしました。 OutOfMemoryエラーを取得するために、以下のコードを実行します。Tomcat 7のsetenv.shファイルを変更するとJava.lang.OutOfMemoryが解決されない
Long maxMemorySize = Runtime.getRuntime().maxMemory();
model.addAttribute("memorySize",maxMemorySize);
int[] matrixArr = new int[(int) (maxMemorySize + 1)];
for(int i = 0; i < matrixArr.length; ++i)
matrixArr[i] = i+1;
エラーが表示されたら、tomcat/binにsetenv.shファイルを作成し、以下のコードを追加します。
export CATALINA_OPTS="-Xms512M -Xmx1024M"
次に、Tomcatサーバーを再起動してプログラムを再実行します。しかし、再びOutOfMemoryエラーが表示されます。 CATALINA_OPTSのパラメータを変更しますが、機能しません。また、setenv.shファイルに以下のコードを追加することもできますが、動作しません。
export JAVA_OPTS="-Xms512M -Xmx1024M"
この問題を解決するのを手伝ってください。
[TomcatアプリのJavaヒープスペースを増やす方法]の複製可能性(http://stackoverflow.com/questions/2718786/how-to-increase-java-heap-space-for-a-tomcat -app) – rkosegi
私はあなたが間違ったパラメータを**最大割り当て可能な**ヒープサイズとして指定していると思います。 http://stackoverflow.com/questions/3571203/what-are-runtime-getruntime-totalmemory-and-freememory –