用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虚拟机内存模型的详细解读。 1. **程序计数器(Program Counter Register)** - 这是每个线程私有的内存区域,用于存储当前线程执行的字节码的地址,每次方法调用都会更新这个计数器,以便下一次知道...
本篇文章将深入探讨基于Java虚拟机内存模型的性能调优方法,帮助开发者优化应用程序,提高系统效率。 1. **Java内存模型** Java内存模型,也称为JVM内存结构,主要包括堆内存、栈内存、方法区、程序计数器和本地...
### Java 虚拟机JVM内存模型知识点 #### 1. JVM概述 ##### 1.1 Java的特性与JVM的应用 Java语言的特性包括跨平台性、面向对象、安全性等。JVM是Java程序能够跨平台运行的关键,它负责将Java源代码转换成与平台无关...
### JAVA虚拟机的内存管理详解 #### 一、引言 在Java 2平台的强大支持下,J2SE能够自动管理内存,这大大减轻了开发者的负担,让他们不必再进行复杂的显式内存管理工作。本文档旨在对Sun J2SE 5.0版本中的Java ...
Java虚拟机(JVM,Java Virtual Machine)是Java平台的核心组成部分,它负责执行Java程序,为Java代码提供了跨平台的运行环境。Java虚拟机的概念始于Sun Microsystems,现在由Oracle公司继续发展和维护。JVM的设计...
本文将深入探讨Java虚拟机的参数配置,特别是针对MyEclipse开发环境中遇到的内存不足问题。 首先,Java虚拟机参数配置是优化JVM性能的关键步骤。Java程序在启动时可以设置一系列参数,这些参数分为两种类型:标准...
它详尽地探讨了Java虚拟机的工作原理、内存管理、类加载机制、字节码执行以及性能优化等多个核心主题,旨在帮助开发者提升程序的运行效率和稳定性。 1. **Java虚拟机概述**:Java虚拟机是Java平台的核心组件,它...
jmap命令用于生成Java虚拟机内存快照。它可以导出内存中对象的情况,或者对堆内存进行分析。命令的基本格式为: ``` jmap [options] ``` 其中,options可以是: - `-dump`:生成内存快照; - `-histo`:输出堆内存...
《深入Java虚拟机》通常包含了JVM的详细剖析,涵盖了诸如类加载机制、字节码执行、内存管理、垃圾收集、性能优化等多个关键领域。书中可能详细解释了JVM如何将字节码转换为机器码,以及如何进行动态编译以提升运行...
《JAVA虚拟机解读入门》是一本面向初学者的指南,旨在带领读者深入理解Java虚拟机(JVM)的工作原理和内部机制。JVM是Java语言的核心组成部分,它为Java程序提供了一个跨平台的运行环境,使得“一次编写,到处运行”...
《Java虚拟机规范(Java SE 7)》是Java开发者深入理解Java运行机制的重要参考资料,它详细阐述了Java虚拟机(JVM)的工作原理和内存管理机制,为开发者提供了宝贵的洞察力,帮助他们优化程序性能,理解和解决运行时...
《深入理解Java虚拟机》是一本深度探讨Java虚拟机(JVM)的著作,涵盖了JVM性能调优、内存模型以及虚拟机原理等多个关键领域。本文将基于这些主题,详细阐述其中的重要知识点。 首先,我们要了解Java虚拟机(JVM)...
首先,我们来看《深入JAVA虚拟机》这本书,它涵盖了JVM的各个关键方面,包括指令集、运行时数据区、方法区、堆内存、栈帧结构、编译与优化、异常处理和安全性等。书中通过实例解析,帮助读者理解JVM如何处理Java程序...
《深入JAVA虚拟机 不那么完美的第二版》这本书虽然在印刷上可能存在一些小瑕疵,但这并不影响我们从中汲取宝贵的Java虚拟机(JVM)知识。Java虚拟机是Java平台的核心组成部分,它负责执行Java程序,提供了跨平台的...
垃圾回收是Java虚拟机内存管理的核心部分,它负责回收堆中不再被引用的对象所占用的空间。垃圾回收器的工作是识别出哪些内存是“垃圾”,即不再被引用的内存区域,并释放这些内存。JVM提供了多种垃圾回收算法,包括...
Java虚拟机(JVM)是Java平台的核心组件之一,它提供了一个运行Java字节码的环境,并且负责管理Java程序的内存分配和垃圾回收。在本文中,我们将深入探讨Java虚拟机的体系结构、垃圾回收机制、Java对象的生命周期和...
《深入JAVA虚拟机第二版》是由Bill Venners撰写,并由曹晓钢和蒋靖翻译的中文书籍。这本书是Java开发者必备的经典读物,它详细地解析了Java虚拟机(JVM)的工作原理,帮助读者深入理解Java程序的运行机制。尽管描述...
### Java运行原理与Java虚拟机 #### 一、Java运行原理概述 Java作为一种跨平台的编程语言,其独特之处在于它的编译和解释过程。Java程序的执行涉及到两个主要步骤:首先是编译阶段,其次是解释执行阶段。 1. **...
Java虚拟机的内存管理是Java程序运行的关键组成部分,它通过一系列复杂的机制确保程序的高效运行和内存的有效利用。本文将深入探讨Java虚拟机(JVM)的内存区域以及内存管理的相关概念,帮助开发者理解Java内存的...
《实战Java虚拟机》这本书是Java开发者深入理解JVM(Java Virtual Machine)的重要参考资料。Java虚拟机是Java语言的核心组成部分,它负责解析和执行Java代码,实现跨平台的“一次编写,到处运行”。通过深入学习JVM...