Tomcat内存消耗

问题描述 投票:0回答:1

我将在Linux上安装Tomcat,JVM堆大小为2048m(2GB)到2304m(2GB+256MB) 通过在

CATALINA_OPTS="-Xms2048m -Xmx2304m"
中设置
cataina.sh file
Linux 操作系统有 8GB RAM 所以我提出了一些观点,请帮忙解决这个问题

  • tomcat应该直接从操作系统消耗2GB吗?
  • 如果不是以上,那么需要多少钱?
  • 如果tomcat占用的内存小于2GB,那么操作系统为此tomcat分配的这2GB内存仅用于此目的,或者某些应用程序可以使用此内存?
  • 最后我们设置这个最大和最小内存,意味着操作系统为tomcat分配了所有这些内存量?
java tomcat jvm tomcat7 heap-memory
1个回答
8
投票

JVM 将预先分配您为

-Xms
指定的任何内存。因此,它会在启动时请求并分配2GB内存。如果稍后需要更多内存(最多
-Xmx
),JVM 会向操作系统请求更多内存。

但是,您知道您需要这么多内存吗?内存消耗的主要驱动因素将是您的应用程序,而不是 Tomcat。带有一些 servlet 或 JSP 的简单 Web 应用程序可以轻松地在不到 32MB 的堆中运行。您需要测量应用程序的性能/负载以确定最佳设置。 旁注 - 设置 JVM 参数的首选方法是使用

JAVA_OPTS

中的

setenv.sh
设置,而不是 catalina.sh。
    

© www.soinside.com 2019 - 2024. All rights reserved.