Tomcat内存设置方法

Tomcat内存设置方法

Tomcat
内存设置方法

windows中大家都知道,JAVA程序启动时都会JVM都会分配一个初始内存和最大内存给这个应用程序。这个初始内存和最大内存在一定程度都会影响程序的性能。比如说在应用程序用到最大内存的时候,JVM是要先去做垃圾回收的动作,释放被占用的一些内存。
  
所以想调整Tomcat的启动时初始内存和最大内存就需要向JVM声明,一般的JAVA程序在运行都可以通过中-Xms -Xmx来调整应用程序的初始内存和最大内存:
如:java -Xms 64m -Xmx 128m a.jar.
   tomcat
的启动程序是包装过的,不能直接使用java -X….. tomcat.*来改变内存的设置。在Tomcat在改变这个设置
有两种方法:
1.
适合用%tomcat_home%/bin中的startup.bat脚本启动,需要在环境变量中加上CATALINA_OPTS这个属性 。
      
如 SET CATALINA_OPTS= -Xms 64m -Xmx 512m ;
          ms
是最小的,mx是最大, 64m , 512m 分别是指内存的初始和最大容量.

因为:用startup.bat启动tomcat服务器,会调用catalina.bat文件,在Catalian.bat文件的166行“rem Execute Java with the applicable properties ”下面会加载系统设置的相关属性。

其中就有%CATALINA_OPTS%这一项。这样tomcat在启动时就会将内存设置为指定的值。

2. 适合将tomcat作为系统服务启动,这时候上面设置CATALINA_OPTS 属性的方法就不适用了,因为作为系统服务的话,系统启动时调用的是 %tomcat_home%/bin/tomcat5w.exe,他读取注册表中的值,而不是catalina.bat的设置,因此需要修改注册表:

解决办法:
修改注册表HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Tomcat Service Manager/Tomcat5/Parameters/JavaOptions
原值为
-Dcatalina.home=”C:/ApacheGroup/Tomcat 5.0″
-Djava.endorsed.dirs=”C:/ApacheGroup/Tomcat 5.0/common/endorsed”
-Xrs

加入 -Xms300m -Xmx350m
重起tomcat服务,设置生效



最后,测试
tomcat
大小,
jsp
页面

<%
Runtime lRuntime = Runtime.getRuntime();
out.println(“*** BEGIN MEMORY STATISTICS ***<br/>”);
out.println(“Free Memory: “+lRuntime.freeMemory()+”<br/>”);
out.println(“Max   Memory: “+lRuntime.maxMemory()+”<br/>”);
out.println(“Total Memory: “+lRuntime.totalMemory()+”<br/>”);
out.println(“Available Processors : “+lRuntime.availableProcessors()+”<br/>”);
out.println(“*** END MEMORY STATISTICS ***”);
%>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100537.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 雅虎十四条性能优化原则「建议收藏」

    雅虎十四条性能优化原则「建议收藏」雅虎十四条性能优化原则欢迎访问我的博客https://qqqww.com/,祝所有码农同胞们早日走上人生巅峰,迎娶白富美~~首先我去看了《雅虎十四条性能优化原则》,当然是看大佬博客翻译过来的,纯英文的我看不懂Web应用性能优化黄金法则:先优化前端程序(front-end)的性能,因为这是80%或以上的最终用户响应时间的花费所在减少HTTP请求使用CDN添加Expire…

    2022年7月15日
  • mysql报错hy000_1251-client does not support

    mysql报错hy000_1251-client does not support我似乎无法重新创建一个已删除的简单用户,即使以root用户身份在MySQL中也是如此。我的情况是:用户’jack’曾经存在,但是我从mysql.user中删除了它以重新创建它。我在那张桌子上看不到任何痕迹。如果我对其他随机用户名(例如“jimmy”)执行此命令,则该命令会正常工作(就像最初对“jack”所做的一样)。我已经做了些什么来破坏用户“jack”,以及如何撤销该破坏,以便重新创建“j…

    2022年8月12日
  • jsonp详解

    jsonp详解

    2021年8月24日
  • 电磁场与电磁波实验三 熟悉Mathematica软件在电磁场领域的应用

    电磁场与电磁波实验三 熟悉Mathematica软件在电磁场领域的应用假设一个铜环(或其他导电环)放在电磁铁的一极上。当电流接通时(如图中红色的电路颜色所示),环会飞离磁铁。随时间变化的磁场会在环内产生循环电流。这将不会发生,如果一个径向狭缝是通过环,从而防止任何电流循环。为了可视化,这个动作是用慢动作来显示的,圆盘在落回地面之前是停在半空中的。此demo展示了电偶极子或赫兹偶极子的电磁场、电场和磁场,相关的能量密度和坡印廷矢量分布。此demo可以改变直流或静态偶极场的偶极矩、频率和时间。该模型显示了极化正弦波的垂直电、磁分量。五、赫兹偶极子的电磁场。微信公众号创享日记。..

    2022年10月28日
  • 微型计算机原理与接口技术——8086指令系统之移位指令

    微型计算机原理与接口技术——8086指令系统之移位指令移位指令移动一位时由指令直接给出;移动两位及以上,则移位次数由CL指定。要求操作数不能是立即数;这类指令的执行大多会影响6个状态标志位。非循环移位指令逻辑左移SHL(ShiftLogicLeft)算术左移SAL(ShiftArithmeticLeft)逻辑右移SHR(ShiftLogicRight)算术右移SAR(ShiftArithmeticRight)4条指令的格式完全相同,可实现对8位或16位寄存器操作数或内存操作数进行指定次数的移位。逻辑移位指令针对的

    2022年5月11日
  • 记一次某网站实战

    记一次某企业实战0x00前言近段时间来也没怎么更新过博客,在这里就来水篇文章吧。前段时间一直在做项目,也来分享并且记录一下自己的一些成果,和一些小思路。0x01信息收集渗透的第一步肯定是

    2021年12月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号