zoukankan      html  css  js  c++  java
  • 何为Tomcat内存

      最近在给网站寻找虚拟主机,于是经常能看到虚拟主机租用的网站这样写:“Tomcat内存:50M 顺延50M” 或者 “Tomcat独占内存:50M” 。于是很纳闷,什么叫Tomcat独占内存

      一开始以为是运行tomcat所消耗的内存,可是经过测试,仅仅打开Tomcat 7,不部署任何项目,都有至少60M的内存被使用了。那么这50M不是坑人么…

      后来转念一想,有可能项目部署所消耗的内存,于是做了个最简单的SSH注册登录(因为大多数虚拟主机租用的网站都写着支持SSH),再一看,整整用去了200M的内存。200M - 60M,这个项目消耗的内存为140M,远远超过了50这个值。

      思来想去,不明白是什么意思,于是找了个租用网站,去看他的FAQ,结果发现如下一段内容:

      TOMCAT运行着,他靠什么运行???他靠的就是内存,,,由于TOMCAT运行着,他需要消耗内存....打个比方说 说用户浏览一个网页,TOMCAT为了运行这个网页可能需要消耗0.1M内存........如果浏览量比较大,或者网页操作了大量的数据库,这些比较耗费资源的东西,你们tomcat的内存就会直线上升....

      如果上升到50M,因为本身限制的就是50M,你们tomcat没有多余的内存可以执行你的网页,你的网站这个时候就会报500错误(一般是:OutOfMemoryError)!

      可以换句话说,内存越大,TOMCAT越稳定,tomcat稳定了你的网站就稳定了.....

      这么看来,他们所指的50M就是在Tomcat部署项目并启动稳定之后,内存由于用户访问而进行的上浮。

      于是做了下试验,我将Tomcat内存设置为5M,并启动Tomcat。Tomcat启动的很平稳。这就证明,在Tomcat启动的过程中,并没有依赖Tomcat中指定的内存上下限。而之后,大量访问则会导致Tomcat报错,就证明,Tomcat中设置的内存上下限,是用来限制内存上浮量的。

      结论:Tomcat内存 / Tomcat独占内存 所指的是,在Tomcat部署项目并运行平稳之后,所允许的内存上浮量。

      在这里,顺便说一下顺延50M的意思。我觉得之前那家网站所说的就很明了:

      当TOMCAT吃光所有的内存后,就报错了。但是现在有了内存顺延后,他就不会报错。

      比如我们的 个人A内存是50M,内存顺延是50M,当你的TOMCAT运行到50M的时候正常情况下他应该报错了,但是有内存顺延后他就不会报错了,内存顺延因为有50M,他会临时借给你的TOMCAT 50M,这样你的TOMCAT其实就有了100M的内存可以使用,只是这个临时借给你的内存,会在你网站不忙的时候在还给系统!这样当你的网站在高峰期间就不容易因为内存不足而关闭了。
  • 相关阅读:
    Struct2_使用Ajax调用Action方法并返回值
    Eclipse使用maven创建struct2项目及遇到的各种坑
    IIS7.5 提示未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序
    使用Canvas实现下雪功能
    基于脚本的动画的计时控制(“requestAnimationFrame”)(转)
    pointer-events属性
    chrome Provisional headers are shown错误提示
    Wcf资料收集
    Asp.Net WebApi 启用CORS跨域访问指定多个域名
    Cors 跨域Access-Control-Allow-Origin
  • 原文地址:https://www.cnblogs.com/rainisic/p/2352522.html
Copyright © 2011-2022 走看看