出处:http://blog.csdn.net/tiercel2008/article/details/6956816
一、本地环境中JVM参数设置:
在本地环境变量中New一个JAVA_OPTS变量名:
variable name: JAVA_OPTS
variable value: -Xms256M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M
二、eclipse中JVM参数设置:
打开eclipse-窗口-首选项-Java-已安装的JRE(对在当前开发环境中运行的java程序皆生效,也就是在eclipse中运行的java程序)编辑当前使用的JRE,在缺省VM参数中输入:-Xmx128m -Xms64m -Xmn32m -Xss16m
三、Tomcat服务器中JVM参数设置:
Tomcat默认可以使用的内存为128MB,Windows下,在文件{tomcat_home}/bin/catalina.bat,Unix下,在文件{tomcat_home}/bin/catalina.sh的前面,增加如下设置:
JAVA_OPTS=’-Xms[初始化内存大小] -Xmx[可以使用的最大内存]’例如:
set JAVA_OPTS=-Xmx512m -Xms512m -Xmn64m -Xss2m 或者
set CATALINA_OPTS=-Xmx512m -Xms512m -Xmn64m -Xss2m
四、Weblogic服务器中JVM参数设置:
a) 编辑Weblogic Server启动脚本文件;
BEA_HOME\user_projects\domains\domain-name\startWebLogic.cmd(startWebLogic.sh on Unix)
BEA_HOME\user_projects\domains\domain-name\startManagedWebLogic.cmd(startManagedWebLogic.sh on Unix) –这个是做集群的时候用的
b) 编辑set JAVA_OPTIONS命令,如:set JAVA_OPTIONS=-Xms256m –Xmx256m;
(在UNIX下把MEM_ARGS=”-Xms1024m -Xmx1024m -Xmn128m”加到上述两个.sh文件中即可)
c) 保存,重启即可。
注:在WebLogic中,为了获得更好的性能,BEA公司推荐最小Java堆等于最大Java堆。
五、Websphere服务器中JVM参数设置:
选择 服务器-> 应用程序服务器-> Server1-> 进程定义->Java 虚拟机。
滚动到初始堆大小和最大堆大小字段并设置值。单击确定以保存更改。
六、JBoss服务器中JVM参数设置:
编辑{jboss}/bin/run.conf, 在文件的底部找到对参数JAVA_OPTS进行设置的地方。这个参数会最后传到jvm里
七、JVM内存分类:
java内存可以分为堆内存和非堆内存:
堆是给开发人员用的,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类型(类和接口)的信息。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了就会导致这块内存的占用过多造成溢出,或者服务器如tomcat热部署时侯不会清理前面加载的环境,只会将context更改为新部署的,非堆存的内容就会越来越多,热部署上几次就java.lang.OutOfMemoryError: PermGen space。
a) 堆内存设置:程序可以到达的,可以操作的
-Xms 初始堆内存 默认物理内存1/64,也是最小分配堆内存。当空余堆内存小于40%时,会增加到-Xms的最大限制
-Xmx 最大堆内存分配 默认物理内存1/4,当空余堆内存大于70%时,会减小到-Xms的最小限制。
一般设置 -Xms和Xms大小相等
b) 非堆内存设置
-XX:PermSize 非堆内存的初始值,默认物理内存的1/64 ,也是最小非堆内存。
-XX:MaxPermSize 非堆内存最大值,默认物理内存的1/4。
八、查看堆大小信息:
a) 在程序中查看,返回值单位是字节,当然还有其他JVM参数可以查看。
Runtime.getRuntime().maxMemory();
b) 在命令行执行 jvisualvm 命令 或者 在命令行执行jconsole 命令。
相关推荐
二、JVM内存参数设置 JVM内存参数的设置对Java应用程序的性能有着至关重要的影响。以下是一些常见的JVM内存参数: 1. -Xms:设置初始堆大小。 2. -Xmx:设置最大堆大小。 3. -Xmn:设置新生代大小。 4. -Xss:设置...
JVM 内存参数详解以及配置调优 JVM 内存参数是 Java 虚拟机中最重要的参数之一,它直接影响着 Java 应用程序的性能和稳定性。在这个资源中,我们将详细讨论 JVM 内存参数的配置和调优,包括 JVM 的结构、内存管理、...
2. JVM内存参数设置: - `-Xms` 和 `-Xmx` 分别代表初始堆内存和最大堆内存大小,例如 `-Xms2048M -Xmx2048M` 指定堆内存为2GB。 - `-Xmn` 设置新生代的大小,如 `-Xmn1024M` 表示新生代为1GB。 - `-Xss` 设置每...
二是物理解决,增大物理内存,然后通过调整 JVM 的参数来调整内存的大小。 JVM 内存溢出类型有两种:java.lang.OutOfMemoryError: PermGen space 和 java.lang.OutOfMemoryError: Java heap space。PermGen space ...
### JVM内存参数调优详解 #### 一、概述 Java虚拟机(JVM)是执行Java字节码的软件环境,为了提高Java程序的性能和稳定性,合理调整JVM的内存参数至关重要。根据Java启动参数的不同分类,我们可以将其分为标准参数...
该文档描述了开发测试环境中Docker及JVM内存限制部署方案
二、JVM内存参数设置 在Spring Boot程序中,JVM参数通常在启动脚本中设置,例如`catalina.sh`。以下是一个示例: ``` java -Xms2048M -Xmx2048M -Xmn1024M -Xss512K -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=...
在调整 Tomcat 的内存设置之前,我们需要了解一些基本的 JVM 内存参数: 1. **`-Xms`**:设置 JVM 启动时的初始堆内存大小。 2. **`-Xmx`**:设置 JVM 运行时的最大堆内存大小。 3. **`-Xmn`**:设置年轻代 (Young ...
本文将深入探讨JVM内存参数调优的相关知识点,帮助开发者更好地理解并掌握如何优化JVM的内存设置。 #### JVM内存概述 JVM内存主要分为以下几个部分: 1. **堆内存(Heap Memory)**:用于存储对象实例、数组等...
- 合理设置JVM参数,如-Xms、-Xmx等。 - 适时使用软引用、弱引用等减少内存消耗。 - 对于大对象,考虑使用对象池技术复用。 #### 八、Java性能监控与调优 Java性能监控是评估和提高Java应用程序性能的重要工具...
### JVM内存配置优化 #### 一、理解JVM内存模型 在进行JVM内存配置优化之前,我们需要了解Java虚拟机(JVM)的内存结构。Java的逻辑内存模型大致分为几个部分: 1. **堆内存(Heap)**:主要用于存储对象实例、数组...
本文档涉及Java虚拟机(JVM)的堆内存分配和管理,以及相关的JVM内存设置参数。堆内存是Java中用于存储对象实例的区域,它在JVM内存模型中占据核心位置。在深入理解堆内存结构及其设置参数之前,我们需要明确几个...
#### 三、调试模式下JVM内存参数设置 在进行调试时,可能还需要单独设置调试模式下的JVM内存参数: **步骤1:** 打开Eclipse,选择`Run > Debug Configurations`。 **步骤2:** 在弹出的窗口中,选择需要调试的...
5. **JVM配置调整**:JProfiler11还可以提供JVM参数建议,帮助开发者正确设置JVM初始堆大小、最大堆大小、内存池等关键参数,确保应用程序稳定运行。 在实际使用中,JProfiler11的详细报告和可视化界面使得问题定位...
特别是在大数据处理场景下,合理设置JVM内存参数显得尤为重要。本文将深入探讨JVM内存管理的基础概念、内存设置方法及其调优策略,以帮助开发者避免常见的`java.lang.OutOfMemoryError`异常,提升应用性能。 #### ...
MyEclipse修改jvm内存配置 MyEclipse是一款功能强大且广泛应用于企业级应用开发的集成开发环境(IDE)。在开发过程中,jvm虚拟机的内存配置直接影响着开发的效率和稳定性。如果jvm虚拟机的内存配置不当,可能会导致...
JVM内存设置方法 JVM(Java Virtual Machine)是 Java 程序的运行环境,为了提高 Java 程序的性能,需要合理地设置 JVM 的内存分配。下面将详细介绍 JVM 内存设置的方法。 一、 JVM 内存设置参数 JVM 内存设置...