我正在研究Java内存堆分配,我想我做了一些设置,不仅为任何特定的tomcat文件夹设置了它,而且为整个系统设置了它,因为我无法在Spring中运行我的应用程序或使用我拥有的自定义tomcat文件夹也用于测试。当我尝试运行该应用程序时,它只是卡在“信息:初始化Spring根WebApplicationContext”上。

我不太清楚如何通过"export CATALINA_OPTS="-Xms2000m -Xmx4500m""JAVA_OPTS="-Xms2000m -Xmx4500m -XX:MaxPermSize=4500m"这样的操作在Linux命令行上设置此设置

我想我不小心把我原本应该用于我的云服务器的设置(具有更高的内存量)放置了,所以我给它提供了比整个系统更多的内存分配。

如果有人可以告诉我是否有可能这样做,以及是否可能导致问题以及如何从系统中获取有关当前分配的输出,以便我可以检查/更改,我将不胜感激。尝试过"export CATALINA_OPTS="-Xms2000m -Xmx4500m",但它仍然对我不起作用。

我想将所有内容恢复为默认设置。我通常在tomcat文件夹的/bin/startup.sh文件中设置内存堆分配,但是我想我已经忘记了这一点,并且正在命令行上进行试验。

谢谢

最佳答案

检查所有日志文件中的Tomcat。 Spring WebApplicationContext的启动可能会遇到错误,但会将其记录到其他地方。

对于Tomcat来说,将最大堆大小设置得太大对于我来说就像是一条红鲱鱼。如果初始堆大小参数大于系统上的最大内存大小,则Java进程将立即失败-Tomcat无法达到初始化Spring应用程序的地步。

10-07 19:01
查看更多