`
dxm1986
  • 浏览: 435026 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JVM调优与监控

 
阅读更多

 

随时记录,方便以后查看:

 

1 -XX:+HeapDumpOnOutOfMemoryError 虚拟机在OOM异常以后,自动生成dump文件

 

2 -Xms20M 堆初始化20M 

 

3 -Xmx20M 堆最大20M

 

4 -Xmn10M 新生代10M

 

5 -XX:SurvivorRatio=8 表示young区,EdenSpace,SurvivorSpace(SurvivorTo,SurvivorFrom)的比例为8:1:1

 

6 -XX:PretenureSizeThreshold=2097152 单位B,表示对象大于这个值(2M),则直接进入Old区

 

7 -verbose:gc 打印GC信息

 

8 -XX:MaxTenuringThreshold=15 表示一个对象在新生代中,在15次MinorGC之后还依然存活,就将其放入Old区

 

9 如果Survivor空间中相同年龄所有对象大小的总和大于Survivor空间总和的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,无须等到XX:MaxTenuringThreshold要求的年龄。

 

10 垃圾收集方式: 串行收集,并行收集,并发收集

 

串行收集(Serial:[范围:新生代,复制回收] ,Serial Old:[范围:老年代,标记-整理]):单线程回收,stop the world. 适合于Client端运行,比如桌面应用程序

 

并行收集(ParNew[相对于Serial,-XX:SurvivorRatio,-XX:PretenureSizeThreshold,-XX:HandlePromotionFailure其为多线程,目前只有它才能与CMS配合工作,-XX:ParalleGCThreads=10控制垃圾收集的线程数]),Parallel Scavenge[吞吐量优先,达到一个可控的吞吐量,-XX:MaxGCPauseMillis 垃圾回收停顿的时间,-XX:GCTimeRatio 吞吐量大小,吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时间),-XX:UseAdaptiveSizePolicy 这是一个开关参数,设置这个参数之后,就不需要手工指定,-Xmn,-XX:SurvivorRation,-XX:PretnureSizeThreshold等参数,虚拟机会根据当前系统的运行情况收集性能监控信息,动态调整]):多线程收集,stop the word. 适合吞吐量大的服务,比如后台大型计算服务器

 

 

并发收集(CMS:Concurrent Mark Sweep,标记-清楚:[CMS:initial mark[stop the world],CMS:concurrent mark,CMS:remark[stop the world] ,CMS:current sweep ]):多线程并发回收,应用在B/S中,响应速度快

 

 

11 -XX:UseSerialGC 虚拟机运行在Client模式下默认,Seriaal+Serial Old

 

12 -XX:UseParNewGC                ParNew + Serial Old

 

13 -XX:UseConcMarkSweepGC  ParNew+CMS+Serial Old 

 

14 -XX:UseParallelGC  虚拟机运行在Server模式下默认 Parallel Scavenge + Serial Old(PS MarkSweep)

 

15 -XX:UseParallelOldGC  :  Parallel Scavenge + Parallel Old

 

16 -XX:HandlePromotionFailure : 是否允许担保失败,即老年代的剩余空间不足以应付新生代整个Eden and Survivor 区所有对象都存活的极端情况

 

17 -XX:CMSInitiatingOccupancyFranction 设置CMS收集器老年代空间被占用多少后触发FULL GC(Major GC),默认68%,仅在CMS收集时有效

 

18  -XX:CMSCompactAtFullCollection CMS 收集器在完成拉圾收集后是否要进行一次内存碎片整理.仅在CMS收集时有效

 

19 -XX:CMSFULLGCsBeforeCompaction CMS若干次收集之后,启动一次碎片整理,仅在CMS收集时有效

 

 

 

 

分享到:
评论

相关推荐

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    标题中提到了JVM原理、JVM调优、JVM内存模型和JAVA并发,这些都是Java虚拟机(JVM)相关的核心概念。JVM是运行Java字节码的虚拟计算机,为Java提供了一个跨平台的环境,确保Java程序可以在不同的操作系统上运行而...

    JVM调优工具命令详解.pdf

    在现代的软件开发与运行环境中,Java虚拟机(JVM)的性能调优是非常重要的一环,特别是在处理大型应用程序或者服务时,合适的JVM调优能够显著提升系统性能和稳定性。本篇文档详细介绍了JVM调优工具的命令使用及其...

    JVM调优.pdf

    ### JVM调优详解 #### 一、JVM调优概述 在现代软件开发中,Java虚拟机(JVM)作为Java应用程序的运行环境,对于提高应用程序的性能至关重要。JVM调优是指通过调整JVM的各种参数来优化Java应用程序的运行效率,减少...

    JVM调优实践 ⼀、JVM调优准备⼯作 实验报告 pdf

    在JVM调优实践中,了解各个运行时数据区的工作原理至关重要。以下是对这些区域的详细解析: 1. **虚拟机栈**:每个线程都有一个独立的虚拟机栈,用于存储方法调用时的栈帧。栈帧中包含局部变量表(存储方法中的变量...

    monkey老师的jvm 调优

    4. **性能监控与分析**:JVM提供了一系列工具,如JConsole、VisualVM和JProfiler,用于实时监控JVM状态,分析CPU、内存、线程等资源使用情况,找出性能瓶颈。例如,`-XX:+HeapDumpOnOutOfMemoryError`参数可在内存...

    jvm调优测试仓库-jvm-monitor.zip

    《深入解析JVM调优与监控》 在Java开发领域,JVM(Java Virtual Machine)是运行Java程序的核心,它的性能直接影响着应用的效率和稳定性。JVM调优是优化Java应用程序性能的关键环节,而"jvm-monitor"则提供了一种...

    jvm调优的实际应用

    《JVM调优实战解析》 在Java开发领域,JVM(Java Virtual Machine)是运行所有Java应用程序的基础,它的性能直接影响着程序的运行效率。因此,掌握JVM调优技术对于提升系统的稳定性和性能至关重要。本文将围绕"JVM...

    JVM调优实战(转)

    JVM调优实战 本文档旨在介绍JVM调优实战的各个方面,包括JVM内存、垃圾回收、性能优化等。通过对JVM内存结构、垃圾回收机制和性能优化策略的详细讲解,帮助读者深入理解JVM的工作原理和优化方法。 1. JVM内存结构 ...

    深入虚拟机---JVM调优总结(摘自网上网上大牛分享).pdf

    在深入讨论JVM(Java虚拟机)调优之前,我们有必要先了解一下虚拟机的基本概念和堆栈...通过上述的分析和总结,我们可以得出,JVM调优是一个涉及多方面知识的复杂过程,需要开发者具备扎实的理论基础和丰富的实践经验。

    jvm调优实战经验

    【JVM调优实战经验】 在Java开发中,JVM(Java Virtual Machine)的调优是提高应用程序性能的关键环节。JVM调优涉及到对内存管理、垃圾回收机制以及相关参数的调整,以优化应用程序的运行效率和稳定性。本文将深入...

    JVM调优总结 JVM调优总结

    本文将围绕JVM调优展开讨论,重点分析数据类型、堆与栈的关系及其对程序性能的影响,并探讨Java中的参数传递机制。 #### 二、数据类型 在Java虚拟机中,数据类型分为两大类:基本类型和引用类型。 - **基本类型**...

    JVM 监控 调优 工具

    JVM调优主要关注内存分配、垃圾收集策略以及类加载机制。常见的调优参数包括: - `-Xms` 和 `-Xmx`:设置堆内存的初始大小和最大大小。 - `-XX:NewRatio` 和 `-XX:SurvivorRatio`:控制新生代和Survivor区的比例。 ...

    JVM调优总结1-12.docx

    JVM调优总结 JVM(Java Virtual Machine)是 Java 语言的运行环境,负责将 Java 字节码转换为机器码并执行。然而,随着 Java 应用程序的复杂度和规模的增加,JVM 的性能变得越来越重要。因此,JVM 调优是非常必要的...

    JVM调优实战.doc

    《JVM调优实战》是一份深入探讨Java虚拟机(JVM)性能优化的文档,主要分为理论篇和实战篇两大部分。本文将详细解析其中的关键知识点。 理论篇首先介绍了JVM内存模型,将其比喻为一个多功能的养鱼塘。在这个比喻中...

    系统和JVM调优(面试突击)

    3. **性能监控与诊断工具**:`jconsole`、`jvisualvm` 和 `jmap` 等工具可以帮助我们监控JVM的状态,查看内存占用、线程状态、类加载情况等,为调优提供依据。 4. **JVM编译优化**:JIT(Just-In-Time)编译器将...

    JVM调优和Linux常见面试题.zip

    ### JVM调优 #### 1. 堆内存划分 JVM堆内存主要分为新生代(Young Generation)和老年代(Old Generation)。新生代又分为Eden区和两个Survivor区(From和To)。垃圾收集器主要在新生代执行Minor GC,老年代执行...

    gc调优,和jvm调优,特别详细,这是本人花人民币买的

    GC(Garbage Collection)调优和JVM调优是优化Java应用性能的关键环节,尤其是在处理大量数据或者高并发场景时显得尤为重要。 GC调优主要是对JVM的垃圾回收机制进行调整,以确保内存的有效利用和避免系统出现长时间...

    JAVA JVM性能调优监控工具详解

    ### JAVA JVM性能调优监控工具详解 在Java开发过程中,特别是在企业级应用中,经常会遇到各种性能瓶颈问题,如内存溢出(`OutOfMemoryError`)、内存泄露、线程死锁、锁争用等问题。这些问题如果不能及时有效地解决...

    spring 微服务相关框架学习。以及记录 jvm 调优 数据监控 并发控制-spring-frame.zip

    本文将深入探讨Spring微服务框架及其与JVM调优、数据监控和并发控制的关联。 首先,Spring框架是一个全面的Java企业级应用开发平台,它简化了开发过程并提供了丰富的功能,包括依赖注入(DI)、面向切面编程(AOP)...

Global site tag (gtag.js) - Google Analytics