java虚拟机内存调整

用tomcat做服务器,总是会出现内存不够这样的问题,默认的虚拟机内存是64M,显然是不够的。
在windows中,可以添加环境变量JAVA_OPTS 值-Xms512m -Xmx1024m来指定
也可以在tomcat的catalina.bat中加上set JAVA_OPTS=-Xms512m -Xmx1024m
linux下是在catalina.sh里加入JAVA_OPTS='-Xms512m -Xmx1024m'

eclipse和myeclipse中调整方式如下。
窗口->首选项->JAVA->已安装的JRE,在缺 省的VM自变量中增加:-Xmx256M
(也可以添加其他参数如 -Xms128M -XX:PermSize=64M -XX:MaxPermSize=128M)
用以下代码来测试是否设置成功

   <%@ page language="java" import="java.util.*,java.lang.management.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>虚拟机监测</title>
  </head>
  <body>
    <% 
    Runtime lRuntime = Runtime.getRuntime(); 
	out.println("*** BEGIN MEMORY STATISTICS ***<br>"); 
	out.println("Max   Memory: "+lRuntime.maxMemory()/1024/1024+"M<br>"); 
	out.println("Total Memory: "+lRuntime.totalMemory()/1024/1024+"M<br>"); 
	out.println("Free  Memory: "+lRuntime.freeMemory()/1024/1024+"M<br>"); 
	out.println("Available Processors : "+lRuntime.availableProcessors()+"<br>");
	out.println("*** END MEMORY STATISTICS ***");
	out.println("<br>");
     %>
    <ul>
    <li>Max   Memory:虚拟机最大能从服务器上挖到的内存数</li>
    <li>Total Memory:虚拟机当前实际挖到的内存数</li>
    <li>Free  Memory:虚拟机挖到但没有使用的内存数</li>
    <li>Available Processors :服务器的CPU数目</li>
    </ul>
  </body>
</html>
     

maxMemory最大能挖到的内存数
totalMemory已经使用的内存数
freeMemory已经挖到但未使用的内存数

你可能感兴趣的:(java,tomcat,linux,虚拟机,MyEclipse)