这两天一个java程序在aix系统下面设置 -Xms128m -Xmx512m 内存限制之后发现内存还是不停地增长,window下面就没有问题,应该aix下面少设置参数的原因.
正好借此机会回顾一下java内存限制的几个参数的具体含义
-Xms128m 表示JVM Heap(堆内存)最小尺寸128MB,初始分配
-Xmx512m 表示JVM Heap(堆内存)最大允许的尺寸256MB,按需分配。
说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误
PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
-XX:PermSize=64MB 最小尺寸,初始分配
-XX:MaxPermSize=256MB 最大允许分配尺寸,按需分配
过小会导致:java.lang.OutOfMemoryError: PermGen space
MaxPermSize缺省值和-server -client选项相关。
-server选项下默认MaxPermSize为64m
-client选项下默认MaxPermSize为32m
更多内存信息请查看
java进阶 http://www.javady.com/index.php/category/javavm
分享到:
相关推荐
Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 区别 Java JVM 虚拟机选项 Xms Xmx PermSize MaxPermSize 是 Java 虚拟机(JVM)中用于配置内存管理的参数。这些参数控制着 JVM 中的堆内存和非堆内存的分配。 ...
本文将对JVM调优中的几个关键参数进行深入解析,包括-Xms、-Xmx、-Xmn和-Xss等,帮助开发者更好地理解这些参数的作用及如何合理设置。 #### 1. -Xms(Initial Heap Size) - **定义**:设置JVM启动时初始分配给堆...
在`JAVA Options`文本域中新增内存设置,如`-Xms512m -Xmx1536m -XX:PermSize=128M -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=128m`,同时更新`Initial Memory Pool`和`Maximum Memory Pool`的值。...
### Java虚拟机(JVM)内存设置与调优详解 #### 引言 在现代软件开发中,Java虚拟机(JVM)作为执行Java字节码的核心组件,其性能直接影响到Java应用的运行效率与稳定性。特别是在大数据处理场景下,合理设置JVM内存...
例如,在Tomcat6.0中,在catalina.sh或catalina.bat文件中增加一行:JAVA_OPTS=" -XX:PermSize=64M -XX:MaxPermSize=128m"如果是Windows服务器还可以在系统环境变量中设置。 2. 清理应用程序中WEB-INF/lib下的jar,...
这个值和 -Xms 的值同步设置,建议均设为物理内存的一半。 4. -XX:PermSize:设定内存的永久保存区域大小。 5. -XX:MaxPermSize:设定最大内存的永久保存区域大小。 6. -XX:MaxNewSize:young generation 的 heap...
在上述例子中,增大了这些值,如 `-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=600m`,可以有效地增加Java程序可用的内存。 2. 优化代码:避免创建不必要的大量对象,减少内存消耗。例如,合理使用对象池...
* 设置 PermSize 和 MaxPermSize:可以使用 JVM 选项 -XX:PermSize 和 -XX:MaxPermSize 来设置 PermGen space 的大小。 * 减少Class数量:在应用中尽量减少Class的数量,避免使用大量的第三方 jar 文件。 * 使用 ...
### Tomcat 6.0 修改启动内存设置及 Java JVM 参数配置详解 #### 一、背景与目的 在部署和运行 Java Web 应用时,合理地配置应用服务器(如 Apache Tomcat)的内存是非常重要的。这不仅可以提升应用程序的性能,还...
- **优化堆内存分配**:根据实际需求调整`-Xms`和`-Xmx`参数,确保两者接近或相等,避免频繁的垃圾回收。 - **调整新生代大小**:通过`-XX:NewRatio`和`-XX:SurvivorRatio`参数调整新生代与老年代的比例。 2. **...
JVM内存设置方法 JVM(Java Virtual Machine)是 Java 程序的运行环境,为了提高 Java 程序的性能,需要合理地设置 JVM 的内存分配。下面将详细介绍 JVM 内存设置的方法。 一、 JVM 内存设置参数 JVM 内存设置...
例如,`-Xms128m`表示初始分配128MB的堆内存,而`-Xmx512m`则表示最多可以使用512MB的堆内存。 - `-XX:PermSize` 和 `-XX:MaxPermSize` 参数用于设置永久代(PermGen space)的初始大小和最大大小。例如,`-XX:...
set JAVA_OPTS=-server-Xms1024m-Xmx1024m-XX:PermSize=128m-XX:MaxPermSize=256m-XX:MaxNewSize=256m- -Dcom.sun.management.jmxremote.port=8999-Dcom.sun.management.jmxremote.authenticate=false- -Dcom.sun....
在深入探讨《eclipse.ini内存设置各参数含义》这一主题之前,我们首先应当明确eclipse.ini文件在Eclipse集成开发环境中的重要性及其如何通过调整内存配置参数来优化Eclipse的运行性能。以下是对该主题的详细解析: ...
set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m ``` 这些参数的含义分别是: * -Xms1024m:设置jvm虚拟机的初始堆大小为1024m。 * -Xmx1024m:设置jvm虚拟机的最大堆大小为1024m。 * ...
为了确保JVM运行时内存稳定,通常建议将初始堆内存和最大堆内存设置为相同的值或接近的值。 #### `-XX:PermSize=64M` 和 `-XX:MaxPermSize=256M` 这两个参数分别用于设置方法区的初始大小和最大大小。`-XX:...
在使用Eclipse这样的Java开发工具时,正确配置JVM内存设置是非常重要的,因为它直接影响到Eclipse的稳定性和性能。在"Eclipse中JVM内存设置"的主题下,我们需要关注几个关键的JVM参数及其作用,以及如何在eclipse....