tomcat的内存配置,关于-Xms -Xmx -XX:PermSize -XX:MaxPermSize的理解和区别

JVM按照其存储数据的内容将所需内存分配为堆区与非堆区两个部分:所谓堆区即为通过new的方式创建的对象(类实例)所占用的内存空间;非堆区即为代码、常量、外部访问(如文件访问流所占资源)等。然而虽然java的垃圾回收机制虽然能够很好的解决内存浪费的问题,但是这种机制也仅仅的是回收堆区的资源,而对于非堆区的资源就束手无策了,针对这样的资源回收只能凭借开发人员自身的约束来解决(堆区有java回收机制、非堆区需要开发人员能够很好的解决)。

-Xms256m -Xmx256m -XX:PermSize=64M -XX:MaxNewSize=64m -XX:MaxPermSize=256m

首先对着几个字段值作出解释:

1、-Xms:是初始化堆内存值;

2、-Xmx:是堆内存最大值。

这两个值是tomcat服务器内存分配是动态的最好体现,刚启动时系统给tomcat分配的内存为-Xms值,当项目占用的内存达到初始化内存的一定比例后(百度上说是80%,这点未验证)才会将给tomcat分配-Xmx大小的内存,反之亦然当项目占用的内存降至-Xmx的40%时,系统会释放部分内存,又将-Xms大小的内存划分给tomcat服务器。

-XX:PermSize和-XX:MaxPermSize是初始化永久保存区,原理同内存是一样的。至于-XX:MAxNewSize是什么意思,暂时还不清楚,但看到有要求这个值的大小应该设置为-Xmx的1/4。

时间: 2024-10-10 06:09:35

tomcat的内存配置,关于-Xms -Xmx -XX:PermSize -XX:MaxPermSize的理解和区别的相关文章

-XX:PermSize -XX:MaxPermSize 永久区参数设置

-XX:PermSize  -XX:MaxPermSize –设置永久区的初始空间和最大空间 -XX:PermSize 设置持久代(perm gen)初始值,物理内存的1/64 -XX:MaxPermSize 设置持久代最大值,物理内存的1/4 –他们表示,一个系统可以容纳多少个类型

tomcat 启动参数 Xms, Xmx, XX:MaxNewSize, XX:PermSize, -XX:MaxPermSize, Djava.awt.headless

在 tomcat/bin/catalina.sh 的 第一行#!/bin/sh 下添加 JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:PermSize=128m -XX:MaxPermSize=256m -Djava.awt.headless=true" -Xms256m JVM初始分配的堆内存, 生产环境建议与Xmx相同, 设为1024m以上-Xmx512m JVM最大允许分配的堆内存, 生产环境建议设为1

tomcat JVM内存 配置

原文:http://elf8848.iteye.com/blog/467460 常见的内存溢出有以下两种: java.lang.OutOfMemoryError: PermGen space java.lang.OutOfMemoryError: Java heap space 一.java.lang.OutOfMemoryError: PermGen space PermGen space的全称是Permanent Generation space,是指内存的永久保存区域, 这块内存主要是被J

JAVA -Xms -Xmx -XX:PermSize -XX:MaxPermSize 区别

参数设置背景 在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError等.这是个让开发人员很痛苦.也很纠结的问题,因为我们有时不知道什么样的操作导致了这种问题的发生.所以我们不得不通过不断的审查.优化自己的代码结构.但是有时我们会发现有些时候不单单是通过重构自身的代码就能够解决这样的问题,因为也可能是由于我们对java虚拟机运行时的内存分配的不得当导致了内存溢出现象的不断发生. 为了解决这一问题,java开发团队提供了一个用户自定义的方式按需配置ja

[Java] xms xmx XX:PermSize XX:MaxPermSize 参数意义解析

今天在做jmeter压力测试时又出现以前经常出现的异常,如下图,长时间不弄这个的,又有点不知所措了,所以干脆再来总结一下问题: 以前写过两篇文章,对这个问题研究过,见下面连接: 连接1:http://www.cnblogs.com/garinzhang/archive/2013/03/20/2970901.html 连接2:http://www.cnblogs.com/garinzhang/p/jvisualvm_resolve_permgen_space.html 这次在网上查找之后,想彻底解

JVM 内存设置大小(Xms Xmx PermSize MaxPermSize 区别)

Eclipse崩溃,错误提示:MyEclipse has detected that less than 5% of the 64MB of Perm Gen (Non-heap memory) space remains. It is strongly recommendedthat you exit and restart MyEclipse with new virtual machine memoryparamters to increase this memory.   Failure

tomcat 修改内存配置

1.linux 下调整tomcat的内存设置 修改bin目录下catalina.sh文件 在cygwin=false之上 添加以下语句 JAVA_OPTS="-Xms1024m -Xmx4096m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=2048m" 其中-xms为jvm初始化堆的大小,-xmx为jvm堆的最大值 2. window 下调整tomcat的内存设置 修改bin目录下catalina.bat文件@echo off下追加 set

MyEclipse启动tomcat增加内存配置

omcat增加内存在catalina.bat下 MyEclipse增加内存 设置Window->Preferences->Application Servers->Tomcat --->JDK---> Optional Java VM Arguments -Xms256m -Xmx636m 然后启动tomcat就可以使用分配的内存了. 关注流行国外网站 facebook:http://www.fb-on.com facebook官网:http://www.facebookzh

tomcat JVM内存配置

1,.Linux 找到 bin/catalina.sh 在位置cygwin=false前添加 export JAVA_OPTS="-Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m"cygwin=false 2.Windows 在catalina.bat最前面加入set JAVA_OPTS=-Xms128m -Xmx350m 如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存. 但是如果不