参数根据具体应用设置,不是有参数就好。
1.关于碎片问题:
CMS采用Mark-Sweep算法进行垃圾会后,不会对堆空间进行整理和压缩,每次回收后不可避免会有一些碎片产生。
-XX:+UseCMSCompactAtFullCollection
default true 对老年代进行压缩,可能影响性能,但是可以消除碎片。
-XX:CMSFullGCsBeforeCompaction
=n CMS进行n次full gc后进行一次压缩。如果n=0,每次full gc后都会进行碎片压缩
。
2.关于CPU问题
CMS需要CPU有更多的“核”,在CMS活动的时候,也会占用较多的“核”。
–XX:+CMSIncrementalMode
default false 并发收集递增进行,周期性把cpu资源让给正在运行的应用。
–XX:+CMSIncrementalPacing
default false 根据应用程序的行为自动调整每次执行的垃圾回收任务的数量
–XX:ParallelGCThreads=n
(ncpus <= 8) ? ncpus : 3 + ((ncpus * 5) / 8) 并发垃圾回收线程数
-XX:CMSIncrementalDutyCycleMin=n
default 0 每次增量回收垃圾的占总垃圾回收任务的最小比例
-XX:CMSIncrementalDutyCycle=n
default 10 每次增量回收垃圾的占总垃圾回收任务的比例
3.关于空间问题
CMS需要更多的内存,一方面是碎片问题,另一方面是对老年代回收不是在老年代满的时候,而是当老年代内存达到一定比例。
-XX:CMSInitiatingOccupancyFractio=n
当老年代内存使用达到n%,开始会后 jdk5 默认是68% jdk6默认92%
CMSInitiatingOccupancyFraction = (100 - MinHeapFreeRatio) + (CMSTriggerRatio * MinHeapFreeRatio / 100)
分享到:
相关推荐
【CMS(Concurrent Mark Sweep)垃圾回收器】是Java虚拟机(JVM)中的一种垃圾收集器,专门针对老年代的内存管理。CMS回收器的主要目标是减少垃圾收集时的应用程序暂停时间,以提高用户体验。它引入了并发模式,允许...
CMS(Concurrent Mark Sweep)收集器是Java虚拟机中的一种垃圾收集器,主要针对老年代的内存回收,其特点是并发和低停顿。CMS收集器的主要目标是在尽可能短的时间内完成垃圾收集,减少应用程序的暂停时间,提高用户...
字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器(重点讲解了Serial 收集器、ParNew 收集器、Parallel 收集器...
字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器(重点讲解了Serial 收集器、ParNew 收集器、Parallel 收集器...
字节码的编译原理、字节码的内部组成结构、通过源码的方式剖析HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器(重点讲解了Serial 收集器、ParNew 收集器、Parallel 收集器...
本文将深入探讨两个重要的垃圾收集器——ParNew和Concurrent Mark Sweep (CMS) ——以及它们在JVM性能调优中的作用,特别是基于三色标记算法的实现。 首先,ParNew垃圾收集器是新生代(Young Generation)的默认...
【CMS(Concurrent Mark Sweep)】是Java垃圾收集器的一种,它是HotSpot虚拟机中用于老年代内存管理的并发标记清除算法。这个源码包"cms-java-源码.zip"显然是针对CMS垃圾收集器的Java实现进行的开源分享,旨在帮助...
CMS(Concurrent Mark Sweep)收集器,全称为"Mostly Concurrent Mark and Sweep Garbage Collector",是Java虚拟机(JVM)中一种旨在减少老年代(Old Generation)垃圾回收时停顿时间的并发垃圾收集器。它采用了...
本篇文章主要探讨的是两种高级垃圾收集器:CMS(Concurrent Mark Sweep)收集器和G1(Garbage-First)收集器。 CMS收集器以最小化应用程序停顿时间为目标,适用于对响应时间要求严格的互联网或B/S系统服务端。它...
4. CMS(Concurrent Mark Sweep)收集器(-XX:+UseConcMarkSweepGC(old)) CMS收集器是第一个实现并发垃圾收集的收集器,目标是缩短垃圾收集时用户的停顿时间,适合用户体验要求较高的应用。CMS收集器采用标记-清除...
HotSpot VM 的启动过程和初始化过程、Java 虚拟机的运行时内存、垃圾收集算法、垃圾收集器(重点讲解了Serial 收集器、ParNew收集器、Parallel收集器、CMS(Concurrent-Mark-Sweep)收集器和 G1(Garbage-First)...
* Concurrent Mark-and-Sweep (CMS) 垃圾收集器:使用多线程进行垃圾收集,适合需要低 pause 时间的应用程序。 * G1 垃圾收集器:使用Region-based垃圾收集,适合需要高吞吐量和低 pause 时间的应用程序。 垃圾收集...
保持GC低开销的窍门有哪些? 随着一再拖延而即将发布的 Java9,G1(“Garbage First”)垃圾回收器将被成为 HotSpot 虚拟机默认的垃圾回收器。...CMS(“Concurrent Mark-Sweep”)收集器与 parallel GC 相比,它将回收过
而提供的部分内容,则详细介绍了CMS(Concurrent Mark-Sweep)垃圾回收器的面试常见问题,包括其工作原理、特点和面试官可能探询的方向。 在Java虚拟机(JVM)中,CMS垃圾回收器是一种以获取最短回收停顿时间为目标...
**定义与特点**:CMS(Concurrent Mark Sweep)收集器是一种低延迟的垃圾收集器,特别适用于那些不允许长时间暂停的应用场景。它主要用于老年代,采用了标记-清除算法。 **优缺点**: - **优点**:可以显著减少应用...
3. Concurrent Mark-and-Sweep(CMS)垃圾收集器:CMS垃圾收集器使用标记-清除算法,适合大型应用程序。 4. Garbage-First(G1)垃圾收集器:G1垃圾收集器是Java 7中引入的新型垃圾收集器,使用增量式标记-清除算法...
* Concurrent Mark and Sweep(CMS)GC:并发垃圾收集器,使用标记-清理-整理算法。 CMS垃圾收集器的工作流程包括: 1. 初始标记:标记从roots直接可达的对象。 2. 并发标记:从young generation中标记可达的对象...
3. **CMS(Concurrent Mark Sweep)收集器** (8 Concurrent Mark Sweep (CMS) Collector .png) - CMS收集器是一种低暂停时间的垃圾收集策略,它在大部分时间与应用程序线程并发运行,只有在最后的整理阶段会短暂...