JAVA_OPTS="-server -Xms200M -Xmx3072M -XX:PermSize=64M -XX:MaxPermSize=128m -verbose:gc -Xloggc:../logs/gclog.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+Pri
ntHeapAtGC -XX:+PrintTenuringDistribution -XX:+HeapDumpOnOutOfMemoryError"
Java -Xms2g -Xmx2g -Xmn512M -Xss128K -XX:PermSize=128M -XX:MaxPermSize=128M -XX:NewRatio=4 -XX:SurivorRatio=4 -XX:MaxTenuringThreshold=1
-Xms2g:JVM启动初始化堆大小为2g,Xms的默认是物理内存的1/64但小于1G。
-Xmx2g:JVM最大的堆大小为2g,Xmx默认是物理内存的1/4但小于1G;将-Xms和-Xmx的值配置为一样,可以避免每次垃圾回收完成后对JVM堆大小进行重新的调整。
-Xmn512M:堆中的新生代大小为512M
-Xss128K:每个线程的堆栈大小为128K
-XX:PermSize=128M:JVM持久代的初始化大小为128M
-XX:MaxPermSize=128M:JVM持久代的最大大小为128M
-XX:NewRatio=4:JVM堆的新生代和老年代的大小比例为1:4
-XX:SurvivorRatio=4:新生代Surivor区(新生代有2个Surivor区)和Eden区的比例为2:4
-XX:MaxTenuringThreshold=1:新生代的对象经过几次垃圾回收后(如果还存活),进入老年代。如果该参数设置为0,这表示新生代的对象在垃圾回收后,不进入survivor区,直接进入老年代
Java -XX:+UseParallelGC -XX:ParallelGCThread=4 -XX:+UseParallelOldGC -XX:MaxGCPauseMillis=100 -XX:+UseAdaptiveSizePolicy
-XX:+UseParallelGC:使用并行的垃圾收集器,但仅针对新生代有效,老年代仍然使用串行收集器
-XX:ParallelGCThread=4:设置并行垃圾回收器的线程为4个,该设置最好与处理器的数目相同
-XX:+UseParalleOldGC:配置老年代使用并行垃圾收集器,JDK1.6支持老年代使用并行收集器
-XX:MaxGCPauseMillis=100:设置每次新生代每次收集器垃圾回收的最长时间,如果无法满足该时间,JVM会自动调整新生代区的大小,以满足该值
-XX:+UseAdaptiveSizePolicy:设置此值后,JVM会自动调整新生代大小以及相应的surivor区的比例,以达到设置的最低响应时间或者收集频率等
Java -XX:UseConcMarkSweepGC -XX:+UseParNewGC -XX:CMSFullGCsBeforeCompaction=5 -XX:+UseCMSCompactAtFullCollection
-XX:UseConcMarkSweepGC:设置JVM堆的老年代使用CMS并发收集器,设置该参数后,-XX:NewRatio参数失效,但-Xmn参数依然有效
-XX:UseParNewGC:设置新生代使用并发收集器,在JDK1.5以上,JVM会根据系统自动设置
-XX:CMSFullGCsBeforeCompaction=5:设置5才CMSGC后对堆空间进行压缩、整理
-XX:+UseCMSCompactAtFullCollection:打开对老年代的压缩,可能会影响性能,但可以消除堆碎片
相关推荐
在Java虚拟机(JVM)的运行过程中,通过一系列的命令行参数,我们可以调整其性能和行为。以下是对JVM部分关键配置参数的详细解析,这些参数能够帮助我们优化应用程序的执行效率,管理内存,以及进行性能调优。 ####...
在eclipse.ini文件中设置JVM参数无效的原因可能是因为没有遵循文件的格式规范。参数应以"项值"的形式出现,如果有空格,需换行书写,值中若有空格,应使用双引号括起来。例如: ``` -vm "C:\Java\jre1.6.0\bin\...
JVM参数设置对于调整应用程序的性能、优化资源利用和确保系统稳定性至关重要。本篇文章将深入探讨JVM参数设置的各个方面。 首先,JVM参数主要分为两大类:标准参数和非标准参数。标准参数以“-X”或“-XX:”开头,...
性能调优不仅需要了解JVM参数,还需要关注参数的具体含义和应用。例如,“-Xms”和“-Xmx”分别用于设置JVM的初始堆内存和最大堆内存,“-Xss”用于设置线程堆栈大小,“-Xmn”用于设置年轻代内存大小。而“-XX”...
以下是一些重要的堆内存配置参数及其含义: 1. **-Xms (Initial heap size)**:设置初始堆内存大小。例如,`-Xms128m` 表示初始堆内存大小为128MB。此值不宜过大,以防止系统启动时占用过多内存资源。 2. **-Xmx ...
以下是对JVM参数配置的详细说明: 1. **堆内存配置**: - `-Xms`:设置JVM启动时分配的初始堆内存大小。 - `-Xmx`:设置JVM可使用的最大堆内存大小。 - `-Xmn`:设置年轻代(Young Generation)的大小,年轻代是...
本节介绍的JVM参数如下: | 参数 | 说明 | |----------------|----------------------------------------------------------| | `-version` | 打印JVM版本信息 | | `-showversion` | 打印版本信息并执行程序 | | `-...
- **JVM参数**:可以配置JVM启动时的参数,用于优化内存分配、垃圾回收等方面。 - **类文件解析**:JVM将类文件中的字节码转换成计算机能够理解的指令执行。 #### 10. 常用工具 - **VisualVM**:是一个可以监控运行...
理解并熟练掌握这些参数的含义和使用场景,能有效提高JVM性能和稳定性。 总结来说,从JVM入门到实战调优,涉及了Java程序从编译到执行的全过程,包括Class文件格式、类加载、内存模型、运行时数据区、垃圾收集策略...
在深入探讨《eclipse.ini内存设置各参数含义》这一主题之前,我们首先应当明确eclipse.ini文件在Eclipse集成开发环境中的重要性及其如何通过调整内存配置参数来优化Eclipse的运行性能。以下是对该主题的详细解析: ...
通过调整JVM参数,如-Xms、-Xmx、-XX:NewRatio等,可以优化内存分配策略,减少垃圾收集频率,提高程序运行效率。此外,理解JIT(Just-In-Time)编译器的作用,以及如何利用-XX:CompileThreshold等参数,也能进一步...
这涉及到操作系统如何分配内存、JVM如何优化内存使用以及开发者如何通过调整JVM参数来最大化应用程序性能。 #### Windows进程空间限制 在32位架构下,每个进程理论上可以访问的最大地址空间为4GB。然而,在Windows...
这份“JVM指令查询手册”很可能包含了JVM的所有公共指令、它们的含义以及使用方式。下面,我们将深入探讨JVM指令集及其在Java程序执行中的作用。 1. **JVM指令分类** JVM指令分为五类:操作数栈管理指令、局部变量...
#### 四、JVM参数配置及优化 为了更好地控制JVM的行为,可以设置一些参数来调整其内存分配、垃圾回收策略等,常见的参数包括: - **-Xmx**:设置JVM的最大堆内存大小。 - **-Xms**:设置JVM初始堆内存大小。 - **-...
通过对JVM参数`-Xms`、`-Xmx`、`-Xmn` 和 `-Xss` 的合理配置,可以有效提升Java应用程序的性能。具体设置应根据实际应用场景的需求进行调整,例如根据系统的可用内存、应用程序的特点等因素来确定最优的配置方案。...
通过对JVM执行子系统原理的深入分析,我们不仅了解了Class文件的具体结构和字节码指令的基本概念,还探讨了类加载机制的各个环节以及字节码执行引擎的核心组成部分。这些知识点对于深入理解JVM的工作原理、优化程序...
本篇将深入探讨这个参数的含义、作用以及使用场景。 首先,让我们理解Java虚拟机的工作原理。当Java程序运行时,JVM会经历几个关键阶段:加载、验证、准备、解析和初始化。其中,验证是至关重要的一环,它的目的是...