首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JVM堆和Tomcat堆关系

JVM堆和Tomcat堆关系
EN

Stack Overflow用户
提问于 2017-09-28 14:53:54
回答 1查看 431关注 0票数 2

假设在我的机器x64、linux、8gRAM上,我将堆设置为JAVA_OPTS=-Xmx2048m,将tomcat设置为CATALINA_OPTS="$CATALINA_OPTS -Xmx1024m"

现在,tomcat中应用程序的内存需求随时会超过CATALINA_OPTS中指定的堆大小。

是否会出现内存不足错误?或者它将没有问题地工作,因为有足够的内存给JVM(由JAVA_OPTS提供)?

EN

回答 1

Stack Overflow用户

发布于 2017-09-28 14:58:11

当您在tomcat中运行应用程序时,它将使用tomcat的CATALINA_OPTS中指定的堆内存。

您可以在同一台机器上运行多个,在本例中,tomcat有单独的JVM,它是一个不同的Java进程。

此外,要检查应用程序的内存使用情况,可以使用JDK附带的任何分析器工具。visualvm就是这样一个工具。

编辑 :-因为OP询问如果分配给应用程序的内存耗尽了会发生什么,那么在这种情况下outofmemory error就会出现。

使用上面提到的分析器工具,你可以调试是什么导致了这个错误,以及你的应用程序中消耗了大部分内存的地方。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46462731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档