Tomcat内存设置方法

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

加入 -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://www.cnblogs.com/growing/archive/2012/09/14/2685295.html

Tomcat内存设置方法(转载并实践)相关推荐

  1. 《转载》Tomcat内存设置详解

    原文地址:Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 ...

  2. Tomcat内存设置详解

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在 ...

  3. java tomcat 内存设置,tomcat下java的内存设置

    服务器在windowst平台下,运行tomcat跑java,可最近出现 java.lang.OutOfMemoryError: GC overhead limit exceeded 错误,网上goog ...

  4. tomcat java内存_[Tomcat]Java内存溢出详解Tomcat内存设置

    Java内存溢出详解 一.常见的Java内存溢出有以下三种: 1.java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出 JVM在启 ...

  5. eclipse内存设置,tomcat内存设置,查看内存大小

    eclipse内存设置,tomcat内存设置,查看内存大小 1.点击eclipse上的debug图标旁边的下拉箭头 2.然后选择Run Configurations, 3.系统弹出设置tomcat配置 ...

  6. 服务器上tomcat修改内存,8g服务器tomcat内存设置

    8g服务器tomcat内存设置 内容精选 换一换 系统每30秒周期性检测HBase服务堆内存使用状态,当检测到HBase服务堆内存使用率超出阈值(最大内存的90%)时产生该告警.若集群启用了多实例功能 ...

  7. eclipse下的tomcat内存设置大小

    eclipse下的tomcat内存设置大小 在eclipse中设置,居然可以了, 设置步骤如下: 1.点击eclipse上的debug图标旁边的下拉箭头 2.然后选择Run Configuration ...

  8. linux配置tomcat内存配置文件,Linux与Windows下tomcat内存设置

    Linux下修改JVM内存大小: 要添加在tomcat 的bin 下catalina.sh文件中,找到cygwin=false,在这一行的前面加入参数,具体如下# vi TOMCAT_HOME/bin ...

  9. 计算机桌面的内存设置方法,细说电脑虚拟内存怎么设置

    电脑中所运行的程序都由内存执行,若执行的程序占用内存很大或很多,则会导致内存消耗殆尽.这时则可以适当的设置虚拟内存的大小,来补偿内存的不足.接下来,我就和大家分享一下电脑虚拟内存的设置方法 虚拟内存是 ...

  10. win7旗舰版 Internet协议版本4的设置方法 --转载

    win7旗舰版 Internet协议版本4的设置方法 win7旗舰版Internet协议版本4的设置方法: 本篇博文出自百度回答 链接:https://zhidao.baidu.com/questio ...

最新文章

  1. MPO文件类型解码(四)3D图像整体结构
  2. 通过HTTP协议上传文件
  3. matlab有限差分一维导热,一维导热方程-有限差分法-matlab实现11.docx
  4. getsockopt和setsockopt函数
  5. 再谈 retain,copy,mutableCopy(官方SDK,声明NSString都用copy非retain)
  6. 学点数学(5)--线性规划对偶形式的理解
  7. 数据结构之字典序全排列
  8. 理论基础 —— 查找 —— 平衡二叉树
  9. 基于实验数据的轮胎模型
  10. BroadcastReceiver广播
  11. Linux系统编程 -- stdin stdout stderr
  12. CSharp_DevExpress_DXperience_Universal_11.1.6 下载+源码+编译
  13. OpenGL ——安装和环境配置
  14. linux TC命令使用总结
  15. 德语语法笔记——冠词的用法
  16. 深度学习基础:SVD奇异值分解及其意义【转】
  17. springboot水环境检测系统的设计与实现毕业设计源码041446
  18. 天大的本事,顶不上一张会说话的嘴
  19. JavaScript数据结构和算法笔记一(前八章)
  20. 【Java 工具类】通过出生日期获取年龄

热门文章

  1. 转:CRC校验之模2除法
  2. Tech-Ed2004的收获
  3. 一种低侵入性的组件化方案 之 组件化需要考虑的几个问题
  4. Kubernetes1.91(K8s)安装部署过程(六)--node节点部署
  5. C#交错数组与多维数组区别
  6. 你所不知道的 CSS 滤镜技巧与细节
  7. 【CVE-2016-10009】OpenSSH 7.4 - agent Protocol Arbitrary Library Loading
  8. Java文件的写入与读出
  9. Extjs4.2如何实现鼠标点击统计图时弹出窗口来展示统计的具体列表信息
  10. 无敌大奉献:iOS技术开发知识整理