Tomcat内存消耗

ajd*_*uke 4 java heap tomcat jvm tomcat7

我打算在Linux上安装Tomcat,JVM堆大小为2048m(2GB)到2304m(2GB + 256MB)CATALINA_OPTS="-Xms2048m -Xmx2304m",cataina.sh file 并且Linux操作系统有8GB的RAM,所以我要点一些,请帮忙

  • tomcat应该直接从OS消耗2GB吗?
  • 如果不是以上,那应该花多少钱?
  • 如果tomcat占用的内存小于2GB,那么os为这个tomcat分配的2GB内存仅用于此,或者某些应用程序可以使用此内存?
  • 最后我们设置这个最大和最小内存,意味着操作系统为tomcat分配所有内存量?

Ang*_*own 8

JVM将预先分配您指定的任何内存-Xms.因此,它将在启动时请求并分配2GB内存.如果以后需要更多内存(最多-Xmx),JVM将从操作系统请求更多内存.

但是,你知道你需要这么多记忆吗?内存消耗的主要驱动因素是你的应用程序而不是 Tomcat.带有一些servlet或JSP的简单webapp可以轻松地在不到32MB的堆中运行.您需要测量应用程序的性能/负载以确定最佳设置.

旁注 - 设置JVM参数的首选方法是使用JAVA_OPTS设置setenv.sh,而不是catalina.sh.