`

JAVA 调优参数(CMS VS G1)

 
阅读更多

Concurrent Mark Sweep (CMS) Collector

          it is designed for applications that prefer shorter garbage collection pauses and that can afford to share processor resources with the garbage collector while the application is running.

Table 8-1, "Command-Line Options for i-cms" list command-line options that control the i-cms mode. The section Recommended Options suggests an initial set of options.

Table 8-1 Command-Line Options for i-cms

Option Description Default Value, Java SE 5 and Earlier Default Value, Java SE 6 and Later

-XX:+CMSIncrementalMode

Enables incremental mode. Note that the CMS collector must also be enabled (with -XX:+UseConcMarkSweepGC) for this option to work.

disabled

disabled

-XX:+CMSIncrementalPacing

Enables automatic pacing. The incremental mode duty cycle is automatically adjusted based on statistics collected while the JVM is running.

disabled

disabled

-XX:CMSIncrementalDutyCycle=<N>

The percentage (0 to 100) of time between minor collections that the CMS collector is allowed to run. If CMSIncrementalPacing is enabled, then this is just the initial value.

50

10

-XX:CMSIncrementalDutyCycleMin=<N>

The percentage (0 to 100) that is the lower bound on the duty cycle when CMSIncrementalPacing is enabled.

10

0

-XX:CMSIncrementalSafetyFactor=<N>

The percentage (0 to 100) used to add conservatism when computing the duty cycle

10

10

-XX:CMSIncrementalOffset=<N>

The percentage (0 to 100) by which the incremental mode duty cycle is shifted to the right within the period between minor collections.

0

0

-XX:CMSExpAvgFactor=<N>

The percentage (0 to 100) used to weight the current sample when computing exponential averages for the CMS collection statistics.

25

25

Recommended Options

To use i-cms in Java SE 8, use the following command-line options:

-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode \
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps

The first two options enable the CMS collector and i-cms, respectively. The last two options are not required; they simply cause diagnostic information about garbage collection to be written to standard output, so that garbage collection behavior can be seen and later analyzed.

For Java SE 5 and earlier releases, Oracle recommends using the following as an initial set of command-line options for i-cms:

-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode \
-XX:+PrintGCDetails -XX:+PrintGCTimeStamps \
-XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=10

The same values are recommended for JavaSE8 although the values for the three options that control i-cms automatic pacing became the default in JavaSE6.

 

G1 Collector

     The G1 collector achieves high performance and pause time goals through several techniques.G1 is planned as the long term replacement for the Concurrent Mark-Sweep Collector (CMS).

分享到:
评论

相关推荐

    java性能调优及原理介绍.pdf

    Java性能调优主要聚焦在JVM的优化,其中...总的来说,Java性能调优涉及到对JVM内存模型的深入理解,合理配置JVM参数以优化内存使用,以及通过分析GC日志来改进垃圾收集的效率,从而避免或减少OOM异常,提升应用性能。

    java性能调优的基本知识.pdf

    选择合适的垃圾收集器(如串行、并行、CMS或G1)并调整相关参数(如新生代和老年代大小),可以帮助优化Java堆的使用,减少GC暂停时间,从而提高应用程序的响应速度。 总之,Java性能调优是一个复杂且细致的过程,...

    Java 性能调优 Java 性能调优 Java 性能调优

    1. **垃圾收集器的选择**:不同的垃圾收集器适用于不同的场景,如CMS、G1等。 2. **内存分配**:合理配置年轻代和老年代的比例,可以减少垃圾回收的频率。 3. **线程堆栈大小**:根据程序的特点调整线程堆栈大小...

    阿里巴巴Java性能调优实战(2021华山版).rar

    本书将介绍不同类型的垃圾收集器,如Serial、Parallel、CMS、G1、ZGC等,以及如何根据应用特点选择合适的GC策略。 3. **线程与并发**:在多核处理器环境下,充分利用并发能力至关重要。书籍会涉及线程池的配置与...

    JAVA应用JVM原理及参数调优深入讲解视频.rar

    2. 垃圾收集器选择:不同的GC策略适用于不同的场景,例如Serial GC适合单线程环境,Parallel GC和Concurrent Mark Sweep (CMS) GC适用于多核CPU环境,G1 GC则提供了更好的停顿时间控制。 3. 压缩比优化:-XX:+...

    java性能调优及原理介绍.rar

    Java性能调优是Java开发中的重要环节,它关乎应用程序的运行效率、资源占用以及用户体验。这份"java性能调优及原理介绍"的压缩包文件,很显然是为了帮助开发者深入理解并掌握这一技能。以下是根据标题和描述提炼出的...

    java虚拟机调优

    常见的垃圾收集器有Serial、Parallel、CMS和G1等,它们分别针对不同的应用场景和性能需求。通过合理选择垃圾收集器并调整其参数,可以优化应用程序的响应时间和吞吐量。 JVM参数是调优时必须了解和掌握的内容。JVM...

    java虚拟机调优大师

    - CMS/G1参数调整:例如设置并发比、初始暂停时间目标等,平衡响应速度与吞吐量。 4. **性能监控与诊断工具** - JVisualVM:官方提供的全功能JVM监控工具,包括内存、线程、类加载、CPU等监控。 - JConsole:另...

    Java性能调优 6步实现项目性能升级

    例如,CMS、G1、ZGC等各有优劣,根据应用类型选择合适的GC策略,并进行相应的参数配置,能有效减少停顿时间,提高系统稳定性。 5. **Netty调优**:Netty是一款高性能的异步网络通信框架,它的性能优化主要涉及缓冲...

    java -jvm 内存分配和jvm调优

    5. CMS收集器设置:对于响应时间敏感的应用,可以使用CMS收集器,通过-XX:+UseConcMarkSweepGC和-XX:+UseParNewGC启用,并调整相关参数如-XX:CMSInitiatingOccupancyFraction来控制触发CMS的时间点。 6. G1收集器:...

    java虚拟机调优(马士兵)-课程例子程序T01-T05

    不同的垃圾收集器如Serial、Parallel、CMS、G1、ZGC等有各自的优缺点,根据应用需求选择合适的组合至关重要。内存分配策略,如对象分配在新生代还是老年代,也会影响垃圾收集的效率。通过调整这些策略,可以显著提高...

    java虚拟机调优--某培训班的课件与源码

    10. **动态调优**:随着应用运行,可以根据实际情况动态调整JVM参数,如使用G1垃圾收集器的动态压缩目标暂停时间(-XX:TargetPauseInterval)。 本套课件和源码提供了实践操作的机会,让开发者在理论学习的同时,能...

    JVM优化3(Tomcat参数调优,JVM参数调优,jvm字节码,代码优化).zip

    这个压缩包文件"JVM优化3(Tomcat参数调优,JVM参数调优,jvm字节码,代码优化).zip"显然包含了关于如何优化Java应用程序运行效率的四个主要方面:Tomcat服务器的参数调整、JVM参数调优、JVM字节码理解和优化以及代码...

    Tomcat 调优及 JVM 参数优化

    3. **垃圾收集器选择**:JVM提供了多种垃圾收集器,如Serial、Parallel、CMS和G1。根据应用特点选择合适的收集器,例如,对于低延迟要求的应用,可以选择G1收集器。 4. **并发模式**:`-XX:+UseConcMarkSweepGC`和`...

    Java_GC垃圾回收调优指南

    例如,吞吐量优先的场景下可以选择并行垃圾回收器(Parallel GC),而响应时间优先的情况下则更适合使用并发标记清扫垃圾回收器(CMS)或G1垃圾回收器。 3. **监控和分析**:使用JVisualVM、Visual GC等工具监控...

    cms-java-源码

    4. **性能优化**:学习如何调整CMS参数以达到最佳的性能表现,比如CMSInitiatingOccupancyFraction参数对GC启动的影响。 5. **内存泄漏检测**:通过分析源码,可以学习如何识别和避免由于垃圾收集不彻底导致的内存...

    JAVA内存调优白皮书(IBM)

    3. **垃圾收集器(Garbage Collector, GC)**:包括各种GC算法,如Serial、Parallel、CMS(Concurrent Mark Sweep)和G1(Garbage-First),它们的工作原理、优缺点和适用场景。 4. **内存分配策略**:如何设置...

    java src 源码 调优

    例如,选择合适的垃圾收集器(如G1, CMS, ZGC等),调整新生代和老年代的比例,以及启用方法区的大小等,都能显著改善系统性能。 6. **代码优化**:代码质量直接影响程序性能。遵循SOLID原则,使用设计模式,减少...

    Java生产环境下性能监控与调优详解课程笔记(完整版)

    2. CMS收集器与G1收集器:选择适合场景的垃圾收集策略。 3. Stop-the-world事件:降低其对应用的影响。 4. 内存分配策略:避免内存碎片,提高内存利用率。 四、线程与并发调优 1. 线程池配置:合理设置核心线程数...

    Java ee性能调优.rar

    - **垃圾收集器选择**:根据应用特性选择合适的垃圾收集器,例如,CMS、G1或ZGC,以降低暂停时间。 - **并发参数**:调整新生代与老年代的比例(`-XX:NewRatio`),以及Eden和Survivor区的大小。 - **预加载**:...

Global site tag (gtag.js) - Google Analytics