jvm Tomcat内存消耗

btxsgosb  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(139)

我将在Linux上安装Tomcat,JVM堆大小为2048m(2GB)到2304m(2GB+256MB),方法是在cataina.sh file中设置CATALINA_OPTS="-Xms2048m -Xmx2304m",Linux操作系统具有8GB的RAM,因此我提出了一些观点,请帮助解决此问题

  • tomcat应该直接从操作系统中消耗2GB吗?
  • 如果上面没有要的话,那应该要花多少呢?
  • 如果内存被tomcat占用小于2GB,那么操作系统为该tomcat分配的这2GB内存仅用于此,还是一些应用程序可以使用此内存?
  • 最后,我们设置了最大和最小内存,这意味着操作系统会为tomcat分配所有的内存?
suzh9iv8

suzh9iv81#

JVM将预先分配您为-Xms指定的任何内存。因此,它将在启动时请求并分配2GB内存。如果以后需要更多内存(最多-Xmx),JVM将从操作系统请求更多内存。
但是,你知道你需要这么多内存吗?内存消耗的主要驱动因素是你的应用程序 * 而不是 * Tomcat。带有几个servlet或JSP的简单Web应用程序可以在不到32 MB的堆中轻松运行。你需要衡量你的应用程序的性能/负载,以确定最佳设置。
附带说明-设置JVM参数的首选方法是使用setenv.sh中的JAVA_OPTS设置,而不是catalina.sh。

相关问题