内存设置方法
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 ***”);
%>
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100537.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...