首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分析Sun Hotspots,JVM 6的GC日志

首先,我们需要了解一下Sun Hotspots和JVM 6的GC日志。

Sun Hotspots是一种Java虚拟机(JVM),它是由Sun Microsystems开发的。它是一种高性能的JVM,可以提供高效的性能和可扩展性。JVM 6是Sun Hotspots的一个版本,它提供了许多改进和新功能,包括改进的垃圾收集器(GC)和更好的内存管理。

GC日志是JVM的一种日志,它可以帮助开发人员和系统管理员监控和诊断JVM的性能问题。GC日志可以记录垃圾收集器的活动,包括内存分配、垃圾回收和内存泄漏等。通过分析GC日志,开发人员可以找出内存泄漏和其他性能问题,并采取相应的措施来优化和改进JVM的性能。

接下来,我们将分析Sun Hotspots,JVM 6的GC日志。

首先,我们需要了解GC日志的格式和内容。GC日志通常包括以下信息:

  • 时间戳:记录GC事件发生的时间。
  • 事件类型:记录GC事件的类型,例如Young GC、Old GC等。
  • 内存使用情况:记录GC前后的内存使用情况,包括堆内存、新生代、老年代等。
  • 垃圾收集器的活动:记录垃圾收集器的活动,包括回收的对象数量、回收的内存大小等。

通过分析GC日志,我们可以找出内存泄漏和其他性能问题,并采取相应的措施来优化和改进JVM的性能。例如,我们可以调整JVM的参数,例如堆内存大小、新生代和老年代的比例等,以提高JVM的性能。

总之,分析Sun Hotspots,JVM 6的GC日志是一项重要的任务,它可以帮助我们发现和解决JVM性能问题,提高应用程序的性能和可靠性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

GC系列】JVM常用GC参数及GC日志解析

它能「满足GC暂停时间目标,同时保持良好吞吐量」。 建议将G1收集器用于需要大堆(大小约为6 GB或更大)且GC延迟要求有限(稳定且可预测暂停时间低于0.5秒)应用程序。...jdk11默认GC是G1 JVM常用命令参数 JVM命令可从如下网站查阅: https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html...也不能保证所有JVM实现都支持它们,并且它们可能会发生变化。 下面我们用一段程序,通过调JVM参数,使用JVM命令用不同GC,看一下运行情况。 开始之前,先普及一下内存泄漏和内存溢出。...日志信息差不多,就是长了点,其实他就是多了一些CMS Initial Mark、CMS Final Remark等信息, CMS初始标记、重新标记这些概念在上一篇已有介绍: 【GC系列】JVM堆内存分代模型及常见垃圾回收器...secs] [Times: user=0.01 sys=0.02, real=0.01 secs]」 该句GC日志含义: 「GC」:YGC,产生在年轻代(新生代)GC

2.8K31

【深入理解JVM】详解GC日志参数配置及日志分析

,准备下一步详细分析GC日志。...二、GC日志参数配置 1、堆空间参数 -Xms:初始堆大小 默认物理内存1/64(小于1GB)空余堆大小小于40%时,JVM就会增大堆直到-Xmx最大限制 -Xmx:最大堆大小 默认物理内存1/4...输出GC详细日志 -XX:+PrintGCTimeStamps 输出GC时间戳(以基准时间形式) -XX:+PrintGCDateStamps 输出GC时间戳(以日期形式,如 2018-06...事件(GC event)开始时间点 2、0.086:GC事件开始时间,相对于JVM启动时间,单位是秒(Measured in seconds) 3、GC :有两种:GC(Minor GC)和...Full GC . 4、Allocation Failure :引起垃圾回收原因 5、PSYoungGen:新生代情况 6、504K->488K(1024K) :年轻代垃圾回收前大小 -> 年轻代垃圾回收以后大小

1.4K40
  • JVM-07垃圾收集Garbage Collection【GC日志分析

    文章目录 概述 GC格式 实例 GC监控 安装GC可视化插件 启动本地进程,监控和分析GC情况 GC日志分析工具 概述 每一种收集器日志形式都是由他们自身实现决定,也就是说每个收集器日志格式都可能不一样...GC日志,然后分析解读下 VM Args : -XX:+PrintGCDetails -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime...GC日志开头 [GC 和 [Full GC 说明了这次垃圾收集器停顿类型,而不是用来区分新生代GC还是老年GC。...Java VisualVM作用不止于此: 生成和分析堆内存转储 查看和操作MBean 监控垃圾回收 内存和CPU分析 ---- 安装GC可视化插件 工具–插件 ?...---- GC日志分析工具 如果GC日志比较多,一般情况我们不直接阅读,都是通过GC日志分析工具提供图形化页面来查看。

    32320

    【Java 虚拟机原理】垃圾回收算法 ( 设置 JVM 命令参数输出 GC 日志 | GC 日志输出示例 | GC 日志分析 )

    文章目录 一、设置 JVM 命令参数输出 GC 日志 二、GC 日志示例 三、GC 日志分析 一、设置 JVM 命令参数输出 GC 日志 ---- 在 IntelliJ IDEA 启动参数中设置 -XX...:+PrintGCDetails Java 虚拟机参数 , 当运行 Java 程序时 , 会在控制台打印 GC 回收相关信息 ; 其它 Java 虚拟机常用命令参数参考 : https://blog.csdn.net...在 VM options 输入框中 , 输入 -XX:+PrintGCDetails 选项 , 这是给 Java 虚拟机设置参数 ; 二、GC 日志示例 ---- 运行如下代码 : public...(); } } 命令行输出 GC 日志 : [GC (System.gc()) [PSYoungGen: 7895K->744K(153088K)] 7895K->752K(502784K),...日志分析 ---- [GC (System.gc()) [PSYoungGen: 7895K->744K(153088K)] 7895K->752K(502784K), 0.0125267 secs]

    1.1K20

    教你如何通过分析GC日志来进行JVM调优

    在Java中,GC是由JVM自动完成,根据JVM系统环境而定,所以时机是不确定。...,只不过大部分情况下,方法区发生垃圾回收之后效率不是很高,大部分内存都回收不掉,所以我们一般讨论垃圾回收时候也只讨论堆内回收 怎么拿到GC日志 发生GC之后,我们要分析GC日志,当然就首先要拿到GC...日志,上一篇讲述JVM参数分类及常用参数分析时有提到,打印GC日志可以通过如下命令: -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps...6、中括号之外数字32768K->3807K(123904K)这个表示是:GC前Java堆已使用容量->GC后Java堆已使用容量(Java堆使用总容量) 这里需要注意是5和6这两组数字相减得到值一般是不相等...总结 本文主要介绍了常用垃圾收集器GC日志应该如何进行分析,并且介绍了两款常用工具来帮助我们更好更直观分析GC日志

    2.8K31

    JVM可达性分析是怎么GC

    可达性分析是什么? 可达性分析是用来判断对象是否存活,通过"GC Roots"作为起点,从这个节点往下搜索,如果有有引用,则这个对象是存活,如果没有则判定可回收对象。...JVM可达性分析解决了什么问题? 可达性分析解决了引用计数法(reference counting)导致循环引用对象及繁琐更新操作需要额外空间问题。...JVM可达性分析是怎么GC?...当对象第一次JVM GC扫到时候,这时候,JVM缓存还不是立即将该对象GC掉,而是打上标记,并且把该对象放到待清除队列中(F-Queue),这时候给该对象再一次机会,若下次GC时候发现该对象还是与GC...实现源码 /** *参考:深入理解Java JVM * 功能描述: 此代码演示了两点: * * 1.对象可以在被GC时自我拯救。

    85420

    jvm-日志分析工具gcviewer使用

    GCViewer是一个小工具,可以可视化Sun / Oracle、IBM、HP和BEA Java虚拟机生成详细GC输出。它是在GNU LGPL下发布自由软件。...文章说日志文件(可以参考:jvm-问题分析及优化利器-gceasy使用) 结果展示如下,有些同学可能要问,有没有中文版,不好意思貌似没有发现~,有发现麻烦留言发我一份~ summary(概要)...gc后最大堆大小和占比 Avg heap after full gc gc后平均堆大小 avg after gc 平均gc情况(指yong minxd old) avg freed full...gc full gc后平均释放大小 ......都差不多 Pause(暂停信息) jvm配置信息 图表需要参照 这个view中信息,其中包含full gc等相关信息,这个在本地开发时候可以时不时拉出来看下是不是有问题,性能或者一些关键参数都可以在图标上面一目了然

    1.8K10

    Java虚拟机:Jvm概念和原理详解以及GC机制分析

    JVM栈(java虚拟机栈): (1)每个线程创建同时会创建一个JVM栈帧,JVM栈中每个栈帧存放为当前线程中局部基本类型变量. 3....———————————————— 6.类加载器子系统(class loader subsystem): (1)根据给定类名(如java.lang.Object)来装载class文件内容到Runtimedataarea...什么时候会发生Full GC? (1)调用System.gc()方法 (2)老年代空间不足。...【例如很长数组,此种对象会直接进入老年代】 (5)CMS GC时出现promotion failed和concurrent mode failure 14. gc回收内容: gc主要作用是回收堆中对象...通过分析一个对象引用是否存在,如果不存在,就可以被回收了。 15.gc具体过程: 这个主要看是用哪一种回收算法以及用什么垃圾回收集了。

    64620

    如何监控 Tomcat 内存占用情况

    ; 5、省掉了GC扫描及压缩时间; 6、元空间中对象位置是固定; 7、如果GC发现某个类加载器不再存活, 它就会把与这个类加载器相关空间全部回收....; sun/反射/代理对应类加载器块会小一些; 5、归还内存块, 释放内存块列表; 6、一旦元空间数据被清空了, 虚拟内存空间就会被回收; 7、减少碎片策略. 2 JDK 工具使用 JDK自带工具位于...(单位: 秒) 3 查看 GC 日志信息 可以通过配置JVM启动参数, 打印类加载情况及对象回收信息, 可以打印到屏幕或指定文件中, 默认也会打印到catalina.log中..../logs/gc.log # 与上面选项配合使用, 将日志信息输出到指定文件以便后续分析. 4 添加 JMS 远程监控 对部署在局域网内其他服务器上Tomcat, 可以打开JMX监控端口,...=1090 # 设置JVMJMS监控端口 -Dcom.sun.management.jmxremote.ssl=false # 设置JVMJMS监控不实用SSL -Dcom.sun.management.jmxremote.authenticate

    1.9K10

    【技术浅析】不同厂商Java虚拟机特性解析

    一、 SUN JVM Sun 公司JVM,其垃圾回收机制主要采用“分代”方式进行,他将JVM堆栈分为3部分:年轻代、年老代以及持久代。...2、 自身缺陷问题 关于GCSUN公司JVM GC主要由2部分组成,其一是“频繁”GC,其二是“Full”GC。...2、 通过查看日志,例如: 关于频繁GC日志信息如下: 10.719: [GC 46136K->17722K(517056K), 0.3663676 secs] 关于FULL GC日志信息如下:...针对Oracle JVM,以前是BEA JVM,后来被Oracle收购,谈起Oracle JVM,其GC机制与SUN公司截然不同,主要有以下特点: 1、 没有FULL GC和频繁GC概念,每次GC...三、 IBM JVM 和其他JVM不同,IBM JVM有自己特色,与SUN JVM分代回收策略不同是,其GC主要分3步走:Mark phase(标记),Sweep phase(清扫

    62750

    GC 性能调优

    (面试高频) 导出堆内存 (jmap) 分析 (jhat jvisualvm mat jprofiler ... ) 如何监控JVM jstat jvisualvm jprofiler arthas...解决JVM运行中问题 java -Xms200M -Xmx200M -XX:+PrintGC com.mashibing.jvm.gc.T15_FullGC_Problem01 一般是运维团队首先受到报警信息...(自定义ThreadFactory) jinfo pid jstat -gc 动态观察gc情况 / 阅读GC日志发现频繁GC / arthas观察 / jconsole/jvisualVM/ Jprofiler...为了排查这些问题,有时我们会临时加一些日志,比如在一些关键函数里打印出入参,然后重新打包发布,如果打了日志还是没找到问题,继续加日志,重新打包发布。...jvm观察jvm信息 thread定位线程问题 dashboard 观察系统情况 heapdump + jhat分析 jad反编译 动态代理生成类问题定位 第三方类(观察代码) 版本问题(确定自己最新提交版本是不是被使用

    1.3K10

    JVM性能调优

    2、JVM调优工具 (1)调优可以依赖、参考数据有系统运行日志、堆栈错误信息、gc日志、线程快照、堆转储快照等。...③GC日志:程序启动时用 -XX:+PrintGCDetails 和 -Xloggc:/data/jvm/gc.log 可以在程序运行时把gc详细过程记录下来,或者直接配置“-verbose:gc”参数把...gc日志打印到控制台,通过记录gc日志可以分析每块内存区域gc频率、时间等,从而发现问题,进行有针对性优化。...日志打印出这种时间戳,“10.171”是从JVM启动到发生gc经过秒数。...④利用jconsole、jvisualvm分析内存信息(各个区如Eden、Survivor、Old等内存变化情况),如果查看是远程服务器JVM,程序启动需要加上如下参数: "-Dcom.sun.management.jmxremote

    66231

    Java 17 升级指南

    因为有太多人公众号偷转我掘金文章,我还是发到公众号这里吧。 Java 8 是旧时代 Java 6,还不快升级,。...在 JVM 中除了 GC,还有大量其它相关日志,比如线程、os 等,在新 Unified Logging 日志中,日志输出方式变更为了 java -Xlog:xxx,GC 不再特殊只是做为日志一种存在形式...阶段性小结 第二部分:输出到哪里(output) 默认情况下,日志会输出到 stdout,jvm 支持以下三种输出方式: stdout stderr file 一般而言我们会把日志输出到文件中,方便后续进一步分析...=104857600,filecount=5 第三部分:日志 decorators 每条日志除了正常信息以外,还有不少日志相关上下文信息,在 jvm 中被称为 decorators,有下面这些可选项...G1 参数调整 不要配置新生代大小 这个在《JVM G1 源码分析和调优》一书里有详细介绍,有两个主要原因: G1对内存管理是不连续,重新分配一个分区代价很低 G1 需要根据目标停顿时间动态调整搜集分区个数

    1.1K60

    Java8 到 Java17 升级指南(Bug大全)

    Java8 到 Java17 升级指南(Bug大全) Java 8 是旧时代 Java 6,还不快升级 。...在 JVM 中除了 GC,还有大量其它相关日志,比如线程、os 等,在新 Unified Logging 日志中,日志输出方式变更为了 java -Xlog:xxx,GC 不再特殊只是做为日志一种存在形式...阶段性小结 第二部分:输出到哪里(output) 默认情况下,日志会输出到 stdout,jvm 支持以下三种输出方式: stdout stderr file 一般而言我们会把日志输出到文件中,方便后续进一步分析...:filesize=104857600,filecount=5 复制代码 第三部分:日志 decorators 每条日志除了正常信息以外,还有不少日志相关上下文信息,在 jvm 中被称为 decorators...G1 参数调整 不要配置新生代大小 这个在《JVM G1 源码分析和调优》一书里有详细介绍,有两个主要原因: G1对内存管理是不连续,重新分配一个分区代价很低 G1 需要根据目标停顿时间动态调整搜集分区个数

    13810

    Java虚拟机(六):JVM调优工具

    工具做为图形化界面来展示更能直观发现问题,另一方面一些耗费性能分析(dump文件分析)一般也不会在生产直接分析,往往dump下来文件达1G左右,人工分析效率较低,因此利用工具来分析jvm相关问题,...jvm监控分析工具一般分为两类,一种是jdk自带工具,一种是第三方分析工具。...GChisto GChisto是一款专业分析gc日志工具,可以通过gc日志分析:Minor GC、full gc时间、频率等等,通过列表、报表、图表等不同形式来反应gc情况。...gcviewer GCViewer也是一款分析小工具,用于可视化查看由Sun / Oracle, IBM, HP 和 BEA Java 虚拟机产生垃圾收集器日志,gcviewer个人感觉显示 界面比较乱没有...以上两款gc分析日志,一个不太维护了,一个不太专业,求推荐更好gc分析工具 本文转载自 原文作者:纯洁微笑 原文地址:http://www.cnblogs.com/ityouknow/p/5603287

    67630

    每天100w次登陆请求, 8G 内存该如何设置JVM参数?

    下面以面试题形式给大家梳理出来,做到一箭双雕: 既供大家实操参考 又供大家面试参考 大家要学习,除了 JVM 配置方案 之外,是其 分析问题思路、思考问题视角。...step8:配置OOM时候内存dump文件和GC日志 额外增加了GC日志打印、OOM自动dump等配置内容,帮助进行问题排查 -XX:+HeapDumpOnOutOfMemoryError 在Out...GC日志输出也很重要: -Xloggc:/dev/xxx/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails GC日志实际上对系统性能影响不大...,打日志对排查GC问题很重要。...(代码层面); 减少使用全局变量和大对象(代码层面); 优先架构调优和代码调优,JVM优化是不得已手段(代码、架构层面); 分析GC情况优化代码比优化JVM参数更好(代码层面); 通过以上原则,我们发现

    54610

    从 Java 8 升级到 Java 17 踩坑全过程,建议收藏!

    ,比如日志 tag、级别(info、debug 等)、上下文(线程 id、行号、时间等),在 JVM 内部之前一直缺乏这样规范,于是出来了 Unified Logging,实现了日志格式大一统,这就是我们接下来要介绍重点...在 JVM 中除了 GC,还有大量其它相关日志,比如线程、os 等,在新 Unified Logging 日志中,日志输出方式变更为了 java -Xlog:xxx,GC 不再特殊只是做为日志一种存在形式...方便后续进一步分析 -Xlog:all=debug:file=/path_to_logs/app.log 还可以指定日志切割大小和方式 -Xlog:gc*:file=/path_to_logs/app.log...:filesize=104857600,filecount=5 第三部分:日志 decorators 每条日志除了正常信息以外,还有不少日志相关上下文信息,在 jvm 中被称为 decorators...G1 参数调整 不要配置新生代大小 这个在《JVM G1 源码分析和调优》一书里有详细介绍,有两个主要原因: G1对内存管理是不连续,重新分配一个分区代价很低 G1 需要根据目标停顿时间动态调整搜集分区个数

    1.8K20
    领券