gpt4 book ai didi

在 Tomcat 7 中更改 setenv.sh 文件时未解决 Java.lang.OutOfMemory

转载 作者:行者123 更新时间:2023-11-28 23:22:15 25 4
gpt4 key购买 nike

我使用 Tomcat 7 部署应用程序。我执行以下代码以获得 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"

请帮我解决这个问题。

最佳答案

Runtime.getRuntime().maxMemory() 返回 JVM 将尝试使用的最大内存量。
-Xmx1024M时返回1024M。数组matrixArr 需要分配1024M*4 内存。这就是为什么在增加 JVM 堆大小后您仍然遇到 java.lang.OutOfMemory 异常的原因。

关于在 Tomcat 7 中更改 setenv.sh 文件时未解决 Java.lang.OutOfMemory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42052277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com