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 ***”);
%>

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java官方编译器_JAVA 编译器

    java官方编译器_JAVA 编译器javac做了些什么?说白了,javac就是一个编译器;编译器就是把一种语言规矩转换成另一种语言规矩,也就是将对人友好的语言转换成对机器友好的语言。因此,javac是把Java源代码编译成Java字节码,即JVM可以识别的二进制;表面上就是将.java文件转成.class文件。javac做了些什么?主要由4个模块组成。词法剖析器:识别Java中的if、else、for、while等关键字及其语句的…

  • .net 4.0 ValidateRequest=”false” 无效「建议收藏」

    .net 4.0 ValidateRequest=”false” 无效「建议收藏」
    当你在安装了.NETFramework4.0以上版本后,当你的应用程序以.NETFramework4.0为框架版本,你的任意服务器请求,都将被进行服务器请求验证(ValidationRequest),这不仅包括ASP.NET,同时也包括WebServices等各种HTTP请求,不仅仅针对aspx页面,也针对HTTPHandler,HTTPModule等,因为这个验证(Valify)的过程,将会发生在BeginRequest事件之前。
       问题的解决方案就是在全局级别(

  • maven快照版本_网站首页快照不更新

    maven快照版本_网站首页快照不更新Maven快照策略,什么是Maven快照。快照版本与Realse版本的区别。修改Maven快照拉取策略。Maven拉取策略

  • 正则表达式Python_js正则表达式实例

    正则表达式Python_js正则表达式实例正则表达式详解正则表达式英文名称叫RegularExpression简称RegEx,是用来匹配字符的一种工具,它常被用在网页爬虫,文稿整理,数据筛选等方面,最常用的就是用在网页爬虫,数据抓取。一、正则表达式的各种符号解释(来自维基百科)~~~是不是感觉太多了,因此我将常用的整理出来了二、进行逐个详解1.首先导入模块importre2.匹配多种可能使用[]…

  • oracle 创建用户并给用户赋予权限

    oracle 创建用户并给用户赋予权限1登录打开cmd  sqlplus/nologSQL&gt;conn/assysdba;SQL&gt;createuserusername(zhangsan)identifiedbypassword(zhangsan);2 授予权限1)、默认的普通用户scott默认未解锁,不能进行那个使用,新建的用户也没有任何权限,必须授予权限grantcreatesession…

  • django drf jwt_jwt工作原理

    django drf jwt_jwt工作原理前言带着问题学习是最有目的性的,我们先提出以下几个问题,看看通过这篇博客的讲解,能解决问题吗?什么是JWT?为什么要用JWT?它有什么优势?JWT的认证流程是怎样的?JWT的工作原理?我们

发表回复

您的电子邮箱地址不会被公开。

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