以32位机器为例,示例 JVM配置一般如下:
JAVA_OPTS="-server -Xms1535m -Xmx1535m -XX:NewSize=320m -XX:MaxNewSize=30m -XX:PermSize=9m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true"
上面参数代表的含义是:
-Xms 初始Heap大小
-Xmx java heap最大值
-XX:NewSize 新生代预估上限的默认值 (JVM在启动时会申请-Xmx指定值大小的空间,但其中绝大部分空间不会被立即分配,它们会一直保留着,直到运行过程中,JVM发现实际占用接近已分配上限值时,才从virtual中再分配掉一部分内存,这里的已分配上限值,可以叫做预估上限值)
-XX:MaxNewSize 新生代占heap的最大值
-XX:PermSize perf区的初始大小;
-XX:MaxPermSize perm区占整个heap的最大值
-Djava.net.preferIPv4Stack=true 关掉jvm的ipv6功能(Due to a bug in the JDK on Linux, a socket cannot be bound to an IPv6 address)
更多参数值请参考 File:Java 6 JVM参数选项大全(中文版).pdf
JAVA 内存分为三个区:young,old,perm。 Young区保存刚实例化的对象,Young区满了后GC会将该对象移到Old区,Perm区用于存放静态文件,如java类、方法等。
而我们平时所说的堆内存则只包括:young和old区。
JVM有2个GC线程。第一个线程负责回收Heap的Young区。第二个线程在Heap不足时,遍历 Heap,将Young 区升级为Older区。Older区的大小等于-Xmx减去-Xmn,不能将-Xms的值设的过大,因为第二个线程被迫运行会降低JVM的性能。 一般而言,Server端JVM最好将-Xms和-Xmx设 为相同值。为了优化GC,最好让-Xmn值 约等于-Xmx的1/3;一个GUI程序最好是每10到20秒间运行一次GC, 每次在半秒之内完成。
分享到:
相关推荐
### JVM配置参数详解 在Java虚拟机(JVM)的运行过程中,通过一系列的命令行参数,我们可以调整其性能和行为。以下是对JVM部分关键配置参数的详细解析,这些参数能够帮助我们优化应用程序的执行效率,管理内存,...
本文将深入探讨一些常用的JVM配置参数,包括但不限于跟踪参数、堆的分配参数以及栈的分配参数,并通过具体示例加以说明。 #### 二、Trace跟踪参数 ##### -verbose:gc - **作用**:该参数用于开启GC(垃圾回收)...
在Java及J2EE大型应用的场景下,Java虚拟机(JVM)非标准参数的合理配置对于提升系统的整体性能至关重要。这些参数不仅影响着应用的运行效率,还直接关联到系统的稳定性。本文将详细介绍JVM非标准参数的相关知识,并...
课程内容包括了Nginx进阶基础,Nginx配置提升,JVM虚拟机尝试,JVM运维实用排障工具,JVM监控工具,Tomcat配置,Tomcat运维与部署等Web服务器的必备运维部署技术。 ===============课程目录=============== (1)\...
### Java虚拟机(JVM)参数配置说明 #### 概述 Java虚拟机(JVM)作为执行Java程序的核心组件,在不同的应用场景下,其性能表现至关重要。特别是在大型应用或企业级服务中,JVM的非标准参数配置对于提升系统性能与...
根据我们程序的实际需求对JVM进行规划和与调优配置 JVM的稳定性 调优原则 将机器的JVM参数设置到最优 一般的Java都不需要进行JVM优化 减少代码层面造成的GC问题(STW) 减少使用全局变量、大对象以及减少创建对象的...
jvm检测工具,jconsole工具介绍,其他同类工具介绍
首先,Java虚拟机参数配置是优化JVM性能的关键步骤。Java程序在启动时可以设置一系列参数,这些参数分为两种类型:标准(也称为官方)参数以“-X”或“-XX:”开头,非标准参数以“-D”开头。标准参数通常涉及JVM的...
#### Java虚拟机(JVM)参数配置说明 - **JVM参数**:为了更好地控制JVM的行为,可以使用一系列命令行参数,如设置初始堆大小(-Xms)、最大堆大小(-Xmx)、启用特定的垃圾收集器(-XX:+UseG1GC)等。这些参数对于...
#### 四、Java虚拟机(JVM)参数配置说明 - **+UseParallelGC**: 设置使用并行垃圾收集器,仅对年轻代有效。 - **-XX:ParallelGCThreads**: 设置年轻代并行垃圾收集的线程数,建议与处理器数量保持一致以达到最佳...
此外,JVM还提供了丰富的命令行工具,如`jinfo`用于查看或修改JVM配置,`jstat`用于收集JVM的各种统计信息,`jmap`用于生成堆转储文件以供分析,以及`jstack`用于打印线程堆栈跟踪,这些都是诊断和优化Java应用程序...
以下是对JVM参数配置的详细说明: 1. **堆内存配置**: - `-Xms`:设置JVM启动时分配的初始堆内存大小。 - `-Xmx`:设置JVM可使用的最大堆内存大小。 - `-Xmn`:设置年轻代(Young Generation)的大小,年轻代是...
#### Java虚拟机(JVM)参数配置说明 JVM提供了大量的命令行参数,用于控制其行为和性能。例如,可以使用`-Xms`和`-Xmx`来设置初始和最大堆大小。了解并正确使用这些参数对于优化Java应用程序至关重要。 以上内容...
详细说明了J2SE 5.0版本中HotSpot JVM所实现的垃圾收集器类型,例如串行收集器、并行收集器、并行整理收集器和并发标记-清除(CMS)收集器等。每种收集器都有其特定的应用场景和性能特点。 4. 舒适性(Ergonomics)...
在"jvm优化学习资源学习及讲义说明"中,我们可以深入探讨以下几个关键知识点: 1. **JVM架构**:了解JVM的内存模型,包括堆内存(Heap)、方法区(Method Area)、栈内存(Stack)、本地方法栈(Native Method ...
在JVM性能优化方面,我们关注的点包括内存调优(调整堆大小、新生代与老年代比例等)、垃圾回收器的选择、线程池配置、类装载策略以及JVM参数设置等。了解JVM内部工作原理有助于识别和解决性能瓶颈,提高应用的响应...
- `tomcat配置JVM.txt`应该是详细的JVM配置指南,提供了如何在Tomcat的启动脚本或者server.xml文件中添加和调整JVM参数的说明。 4. **垃圾收集和内存管理**: 了解不同类型的垃圾收集器,如Serial、Parallel、...
为了监控和分析JVM的内存状况,开发者通常需要利用各种工具和配置选项。本文将深入探讨如何查看和分析JVM的内存状态,特别是通过输出GC日志。 首先,让我们了解JVM内存的基本结构。JVM内存主要分为年轻代(Young ...
在这个特定的压缩包中,readme.txt很可能会详细说明如何在Windows CE设备上安装和配置这个JVM,包括可能的兼容性问题、系统需求、配置步骤以及可能遇到的问题和解决方案。对于开发者而言,这个文件是了解JVM在WinCe...