JVM命令行参数分为三种类型:标准选项(Java Virtual Machine Specification里定义的参数),非标准选项(以-X为前缀,不强制JVM实现),非稳定选项(以-XX为前缀,可能在某些版本被移除)
CMS相关
-XX:+UseConcMarkSweepGC | boolean | false | 老年代采用CMS收集器收集 |
-XX:+CMSScavengeBeforeRemark | boolean | false | The CMSScavengeBeforeRemark forces scavenge invocation from the CMS-remark phase (from within the VM thread as the CMS-remark operation is executed in the foreground collector). |
-XX:+UseCMSCompactAtFullCollection | boolean | false | 对老年代进行压缩,可以消除碎片,但是可能会带来性能消耗 |
-XX:CMSFullGCsBeforeCompaction=n | uintx | 0 | CMS进行n次full gc后进行一次压缩。如果n=0,每次full gc后都会进行碎片压缩。如果n=0,每次full gc后都会进行碎片压缩 |
–XX:+CMSIncrementalMode | boolean | false | 并发收集递增进行,周期性把cpu资源让给正在运行的应用 |
–XX:+CMSIncrementalPacing | boolean | false | 根据应用程序的行为自动调整每次执行的垃圾回收任务的数量 |
–XX:ParallelGCThreads=n | uintx | 并发回收线程数量:(ncpus <= 8) ? ncpus : 3 + ((ncpus * 5) / 8) | |
-XX:CMSIncrementalDutyCycleMin=n | uintx | 0 | 每次增量回收垃圾的占总垃圾回收任务的最小比例 |
-XX:CMSIncrementalDutyCycle=n | uintx | 10 | 每次增量回收垃圾的占总垃圾回收任务的比例 |
-XX:CMSInitiatingOccupancyFractio=n | uintx | jdk5 默认是68% jdk6默认92% | 当老年代内存使用达到n%,开始回收。`CMSInitiatingOccupancyFraction = (100 - MinHeapFreeRatio) + (CMSTriggerRatio * MinHeapFreeRatio / 100)` |
-XX:CMSMaxAbortablePrecleanTime=n | intx | 5000 | 在CMS的preclean阶段开始前,等待minor gc的最大时间。[see here](https://blogs.oracle.com/jonthecollector/entry/did_you_know) |
-XX:+UseBiasedLocking | boolean | true | Enables a technique for improving the performance of uncontended synchronization. An object is "biased" toward the thread which first acquires its monitor via a `monitorenter` bytecode or synchronized method invocation; subsequent monitor-related operations performed by that thread are relatively much faster on multiprocessor machines. Some applications with significant amounts of uncontended synchronization may attain significant speedups with this flag enabled; some applications with certain patterns of locking may see slowdowns, though attempts have been made to minimize the negative impact. |
-XX:+TieredCompilation | boolean | false | Tiered compilation, introduced in Java SE 7, brings client startup speeds to the server VM. Normally, a server VM uses the interpreter to collect profiling information about methods that is fed into the compiler. In the tiered scheme, in addition to the interpreter, the client compiler is used to generate compiled versions of methods that collect profiling information about themselves. Since the compiled code is substantially faster than the interpreter, the program executes with greater performance during the profiling phase. In many cases, a startup that is even faster than with the client VM can be achieved because the final code produced by the server compiler may be already available during the early stages of application initialization. The tiered scheme can also achieve better peak performance than a regular server VM because the faster profiling phase allows a longer period of profiling, which may yield better optimization. |
相关推荐
### JVM参数配置详解 #### 一、理解JVM参数配置的重要性 Java Virtual Machine (JVM) 是运行Java程序的核心环境,其性能优化很大程度上依赖于正确的JVM参数配置。合理配置JVM参数不仅可以显著提升应用程序的运行...
《JVM工具、参数调优及调试技巧》 在Java开发中,理解并掌握JVM(Java虚拟机)的工作原理,以及如何进行工具使用、参数调优和问题调试,是提升程序性能的关键步骤。本文将深入探讨这些核心知识点,帮助开发者优化...
Java虚拟机(JVM)是Java程序运行的基础,它的配置参数和垃圾收集(GC)机制对于优化应用程序性能至关重要。本文将深入探讨JVM参数及其与Java垃圾收集相关的知识。 一、JVM参数详解 JVM参数可以分为三类:启动参数...
【JVM中的CMS收集器详解】 CMS(Concurrent Mark Sweep)收集器,全称为"Mostly Concurrent Mark and Sweep Garbage Collector...因此,合理配置JVM参数和选择适合的垃圾收集器是优化Java应用程序性能的关键步骤之一。
Java 6 JVM 参数选项是Java虚拟机的配置设置,用于优化JVM的行为和性能。这些参数通常以-XX:开头,允许开发者调整JVM内部的工作机制,以适应特定的应用场景和性能需求。以下是一些关键的JVM选项及其详细解释: 1. -...
JVM参数调优是优化Java应用程序性能的关键环节,尤其是在服务器端的应用中,如Web服务器Resin。本实践案例中,作者分别尝试了三种不同的垃圾回收(GC)策略:串行回收、并行回收和并发回收,并针对每种策略提供了...
本课程深入讲解了JVM的工作原理以及如何进行参数调优,旨在帮助开发者提升应用程序的性能和稳定性。 首先,我们来探讨JVM的基本原理。JVM是一个抽象的计算机,它具有硬件系统的许多特性,如内存管理、指令集等。当...
理解并正确配置JVM参数对于优化应用程序性能、内存管理和故障排查至关重要。本文将深入探讨JVM的常用参数设置,以及它们如何影响Java应用程序的运行。 一、JVM内存设置 1. **堆内存**: - `-Xms`:初始堆大小,...
根据JVM参数的设置,堆可以被划分为新生代和老年代,新生代又进一步细分为Eden区和两个Survivor区。5、方法区:也称为永久代,存储类的信息、常量、静态变量等,JDK 8之后被元空间(Metaspace)取代,元空间使用的是...
"jvm优化参数配置"是确保Tomcat稳定运行的关键环节,能够提高应用的响应速度,减少内存泄露,提升系统整体性能。以下是对JVM参数优化的详细解释: 1. **内存配置**: - **堆内存(Heap Memory)**:分为新生代...
Java虚拟机(JVM)参数对于优化Java应用程序的性能至关重要。这些参数用于调整JVM的内存分配、垃圾收集行为以及各种其他配置选项。以下是一些关键的JVM参数及其作用: 1. **Xms** 和 **Xmx**: 这两个参数用于设置...
JVM参数设置是优化Java应用性能的关键环节,它可以帮助我们控制JVM的行为,如内存分配、垃圾回收策略、线程调度等。下面将详细介绍一些重要的JVM参数及其作用。 1. 内存设置: - `-Xms` 和 `-Xmx`:这两个参数用于...
本文将深入探讨JVM实战参数调优及其垃圾回收机制算法,帮助开发者提升Java程序的性能。 一、JVM参数调优 1. **内存配置**:JVM内存分为堆内存(Heap)、栈内存(Stack)、方法区(Method Area)、本地方法栈...
### JVM -XX 参数详解 #### 功能开关参数 在深入探讨JVM的-XX参数之前,我们首先要明白,这些参数主要是用于微调JVM的行为,适用于开发者或系统管理员在特定场景下进行性能优化或问题诊断。下面,我们将详细介绍...
本教程详细介绍了JVM(Java虚拟机)的结构、类型和编译器模式、参数分类、即时编译器(JIT)诊断工具、垃圾回收机制、内存调优方法,以及并行和CMS垃圾回收器的优化策略。重点内容包括: JVM类型和编译器模式:...
标题《JVM系列之性能调优参考手册(实践篇)》涉及的知识点主要集中在Java虚拟机(JVM)性能调优的实践操作。JVM作为Java程序运行的基础环境,对程序性能有着决定性影响。本手册的目的是指导开发者如何对JVM进行性能...