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%/binstartup.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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 将截断字符串或二进制数据解决办法_数据库从字符串转换日期失败

    将截断字符串或二进制数据解决办法_数据库从字符串转换日期失败在EF中,使用CodeFirst给实体添加约束的时候,使用NeGut控制台进行更新到数据库中,先使用add-migrationmigrationName命令进行创建(migrationName是进行更新的名字),然后使用Update-Database进行更新到数据库,此时报出问题:将截断字符串或二进制数据。语句已终止。错误原因为什么会报出这个问题,原因就是添加的限制和数据库中已…

    2022年10月7日
    2
  • datax(26):各个数据库与datax字段映射

    datax(26):各个数据库与datax字段映射通过源码解读Column-datax中的数据类型,可以知道datax框架中只有7(enumType种)种数据类型,那么各个数据库的字段是如何和datax的字段进行相互映射?一、ADBPGDataX内部类型ADBPG数据类型Longbigint,bigserial,integer,smallint,serialDoubledoubleprecision,float,numeric,realStringvarchar,char,tex.

    2022年5月16日
    171
  • 详解单调栈算法

    详解单调栈算法前言如果你对这篇文章可感兴趣,可以点击「【访客必读-指引页】一文囊括主页内所有高质量博客」,查看完整博客分类与对应链接。栈属于基础数据结构之一,基础到仅用「后进先出」这四个字即可完整概括其核心特征。然而,基础并不代表着简单,「后进先出」的背后反而隐藏着多样的变化与极其广泛的应用。在本篇文章中,我们将针对在基础栈上稍加改动所形成的「单调栈」算法进行详解。该算法与「单调队列」组成了算法题中最常考察的线性数据结构,属于面试中必知必会的算法知识。栈首先我们来回忆一下「栈」。「栈」是一种「后进先出」的线

    2022年9月23日
    4
  • origin画图数据_origin多元线性回归拟合

    origin画图数据_origin多元线性回归拟合制图完成效果图如下。1.原始数据为真实值与预测值。2.另外两列是制作中间的标准线。优化直线。3.4.对预测值与真实值的图进行优化。5.将标准线图层复制到当前页面,ctrl+C,V就行了。将标准线的网格删除。将线移动到该有的位置即可。对周围的字体大小等修正后即可。…

    2022年9月21日
    2
  • SOP-标准化操作步骤

    SOP-标准化操作步骤SOP  所谓SOP,是StandardOperationProcedure三个单词中首字母的大写,即标准作业程序,就是将某一事件的标准操作步骤和要求以统一的格式描述出来,用来指导和规范日常的工作.SOP的精髓,就是将细节进行量化,用更通俗的话来说,SOP就是对某一程序中的关键控制点进行细化和量化.  用更通俗的话来说,SOP就是对某一程序中的关键控制点进行细化和量化…

    2022年5月26日
    87
  • 用eclipse创建JAVA程序的步骤

    用eclipse创建JAVA程序的步骤如何使用Eclipse进行Java程序开发一般分为如下4个步骤:一、创建Java项目二、创建程序包三、编写Java源程序四、运行Java程序1、创建Java项目1.1打开eclipse1.2点击顶部菜单栏File->New->JavaProject,输入项目名2、创建程序包点击顶部菜单栏,File->New->Package,…

    2022年7月7日
    23

发表回复

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

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