首页
学习
活动
专区
工具
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。

3.4K31

【深入理解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.5K40
  • 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日志分析工具提供的图形化页面来查看。

    35420

    【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.2K20

    教你如何通过分析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日志。

    3.1K31

    JVM可达性分析是怎么GC的?

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

    87020

    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等相关信息,这个在本地开发的时候可以时不时拉出来看下是不是有问题,性能或者一些关键的参数都可以在图标上面一目了然

    2.2K10

    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的具体过程: 这个主要看是用的哪一种回收算法以及用的什么垃圾回收集了。

    67820

    如何监控 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 # 设置JVM的JMS监控的端口 -Dcom.sun.management.jmxremote.ssl=false # 设置JVM的JMS监控不实用SSL -Dcom.sun.management.jmxremote.authenticate

    2.1K10

    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.4K10

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

    一、 SUN JVM Sun 公司的JVM,其垃圾回收机制主要采用“分代”方式进行,他将JVM堆栈分为3部分:年轻代、年老代以及持久代。...2、 自身的缺陷问题 关于GC,SUN公司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(清扫

    64050

    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

    67631

    JVM虚拟机监控及性能调优实战

    今天我们再来聊聊jvisualvm目录jvisualvm介绍jvisualvm是JDK自带的可以远程监控内存,跟踪垃圾回收,执行时内存,CPU/线程分析,生成堆快照等的工具。...jmx监控连接jvisualvm集成Visual-GC插件Visual GC插件安装到https://visualvm.github.io/pluginscenters.html去下载对应的Visual...xxx.txt 导出日志,然后在日志中查找nid=转换后进程id 或者 jstack 进程ID|grep -A 10 55a0 10表示这个线程所在行后面10行,55a0是进程ID转换后的十六进制查看堆内存使用情况...jstack 进程id > xxx.txt 导出日志搜索 deadlock 或者查 locked关键字找到发生死锁线程引用jvisualvm简要说明jvisualvm 连接 jstatd 远程监控 jvm...或 Visual GC提示"不受此JVM支持“使用Java VisualVM监控远程JVMVisualvm 远程测试 问题visualgc - Visual Garbage Collection Monitoring

    13410

    JVM虚拟机监控及性能调优实战

    jvisualvm介绍jvisualvm是JDK自带的可以远程监控内存,跟踪垃圾回收,执行时内存,CPU/线程分析,生成堆快照等的工具。jvisualvm是从JDK1.6开始被继承到JDK中的。...jmx监控连接jvisualvm集成Visual-GC插件Visual GC插件安装到https://visualvm.github.io/pluginscenters.html去下载对应的Visual...GC Plugins更改visual-gc配置中心URL安装Visual GC PluginVisual GC正确开启步骤在远程主机上添加安全策略文件 [root@localhost ~] touch...xxx.txt 导出日志,然后在日志中查找nid=转换后进程id 或者 jstack 进程ID|grep -A 10 55a0 10表示这个线程所在行后面10行,55a0是进程ID转换后的十六进制查看堆内存使用情况.../weixin_38750084/article/details/83314046)* [jvisualvm 连接 jstatd 远程监控 jvm 或 Visual GC提示"不受此JVM支持“](https

    4000

    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.3K60

    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 的需要根据目标停顿时间动态调整搜集的分区的个数

    16010

    从 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.9K20
    领券