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

输出Java的GC信息

 
阅读更多

-verbose:gc

-XX:+printGC

可以打印GC的简要信息

1
2
3
4
[GC 4790K->374K(15872K), 0.0001606 secs]
[GC 4790K->374K(15872K), 0.0001474 secs]
[GC 4790K->374K(15872K), 0.0001563 secs]
[GC 4790K->374K(15872K), 0.0001682 secs]

-XX:+PrintGCDetails 打印GC详细信息

1
例 [GC[DefNew: 4416K->0K(4928K), 0.0001897 secs] 4790K->374K(15872K), 0.0002232 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

-XX:+PrintGCTimeStamps 打印CG发生的时间戳,这个时间是相对于JVM启动时间的一个相对时间.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0.346: [GC0.346: [DefNew: 4416K->512K(4928K), 0.0047316 secs] 4416K->1189K(15872K), 0.0050057 secs] [Times: user=0.00 sys=0.02, real=0.02 secs]
0.604: [GC0.604: [DefNew: 4928K->512K(4928K), 0.0047917 secs] 5605K->2042K(15872K), 0.0049892 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
0.862: [GC0.862: [DefNew: 4928K->512K(4928K), 0.0043302 secs] 6458K->2547K(15872K), 0.0045277 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
1.097: [GC1.097: [DefNew: 4928K->511K(4928K), 0.0035988 secs] 6963K->2942K(15872K), 0.0037924 secs] [Times: user=0.00 sys=0.02, real=0.02 secs]
1.332: [GC1.332: [DefNew: 4927K->511K(4928K), 0.0036309 secs] 7358K->3295K(15872K), 0.0038239 secs] [Times: user=0.01 sys=0.00, real=0.01 secs]
1.501: [Full GC1.501: [Tenured: 2783K->2593K(10944K), 0.0277544 secs] 6493K->2593K(15872K), [Perm : 4095K->4095K(4096K)], 0.0279980 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
1.529: [Full GC1.529: [Tenured: 2593K->2593K(10944K), 0.0228733 secs] 2593K->2593K(15936K), [Perm : 4095K->4095K(4096K)], 0.0229870 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
1.555: [Full GC1.555: [Tenured: 2593K->999K(10944K), 0.0235103 secs] 2678K->999K(15936K), [Perm : 4095K->4095K(4096K)], 0.0236762 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
1.579: [Full GC1.579: [Tenured: 999K->983K(10944K), 0.0265414 secs] 1045K->983K(15936K), [Perm : 4095K->4092K(4096K)], 0.0267126 secs] [Times: user=0.01 sys=0.00, real=0.03 secs]
Heap
 def new generation   total 4992K, used 175K [0x26720000, 0x26c80000, 0x2bc70000)
  eden space 4480K,   3% used [0x26720000, 0x2674bd48, 0x26b80000)
  from space 512K,   0% used [0x26b80000, 0x26b80000, 0x26c00000)
  to   space 512K,   0% used [0x26c00000, 0x26c00000, 0x26c80000)
 tenured generation   total 10944K, used 983K [0x2bc70000, 0x2c720000, 0x36720000)
   the space 10944K,   8% used [0x2bc70000, 0x2bd65ce0, 0x2bd65e00, 0x2c720000)
 compacting perm gen  total 4096K, used 4094K [0x36720000, 0x36b20000, 0x36b20000)
   the space 4096K,  99% used [0x36720000, 0x36b1f948, 0x36b1fa00, 0x36b20000)
    ro space 10240K,  44% used [0x36b20000, 0x36f97e30, 0x36f98000, 0x37520000)
    rw space 12288K,  52% used [0x37520000, 0x37b6eb58, 0x37b6ec00, 0x38120000)

  

-XX:+PrintGCDateStamps 打印CG发生的时间戳,是一个阅读性好的,普通的日期时间.

1
2
3
4
5
6
7
8
9
10
11
12
13
java -jar -XX:+PrintGCDateStamps -XX:+PrintGCDetails -verbose:gc yed.jar
 
2011-05-11T17:49:43.959+0800: [GC [PSYoungGen: 15360K->2464K(17856K)] 15360K->8417K(58688K), 0.0260480 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]
 
2011-05-11T17:49:44.612+0800: [GC [PSYoungGen: 17824K->2484K(33216K)] 23777K->10471K(74048K), 0.0156130 secs] [Times: user=0.03 sys=0.00, real=0.02 secs]
 
2011-05-11T17:49:44.724+0800: [GC [PSYoungGen: 33204K->2466K(33216K)] 41191K->10509K(74048K), 0.0088430 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
 
2011-05-11T17:49:44.771+0800: [GC [PSYoungGen: 33186K->2466K(63936K)] 41229K->10509K(104768K), 0.0069690 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
 
2011-05-11T17:49:44.911+0800: [GC [PSYoungGen: 63906K->2482K(63936K)] 71949K->10525K(104768K), 0.0071580 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
 
2011-05-11T17:49:47.282+0800: [GC [PSYoungGen: 63922K->8765K(130048K)] 71965K->16807K(170880K), 0.0409860 secs] [Times: user=0.07 sys=0.01, real=0.04 secs]

 

  

 

-XX:+PrintGCDetails的输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Heap                          12288K+ 1536K            [低边界             当前边界       最高边界]
 
def new generation total 13824K, used 11223K [0x27e80000, 0x28d80000, 0x28d80000)                   (0x28d80000-0x27e80000)/1024/1024=15M
 
eden space 12288K, 91% used [0x27e80000, 0x28975f20, 0x28a80000)
 
from space 1536K, 0% used [0x28a80000, 0x28a80000, 0x28c00000)
 
to space 1536K, 0% used [0x28c00000, 0x28c00000, 0x28d80000)
 
tenured generation total 5120K, used 0K [0x28d80000, 0x29280000, 0x34680000)
 
the space 5120K, 0% used [0x28d80000, 0x28d80000, 0x28d80200, 0x29280000)
 
compacting perm gen total 12288K, used 142K [0x34680000, 0x35280000, 0x38680000)
 
the space 12288K, 1% used [0x34680000, 0x346a3a90, 0x346a3c00, 0x35280000)
 
ro space 10240K, 44% used [0x38680000, 0x38af73f0, 0x38af7400, 0x39080000)
 
rw space 12288K, 52% used [0x39080000, 0x396cdd28, 0x396cde00, 0x39c80000)

 

  

 

-Xloggc:log/gc.log 指定GC log的位置,以文件输出 帮助开发人员分析问题

目录可以是一个相对当前目录的相对地址,但是目录要存在,否则没有输出文件.

分享到:
评论

相关推荐

    java jstat 查看哪个进程频繁GC垃圾回收

    `jstat -gc` 输出的信息中,你可以关注以下几个关键指标: 1. **YGCT**:Young Generation Garbage Collection Time,年轻代GC时间。 2. **FGCT**:Full GC Time,完整GC时间。 3. **GCT**:Total Garbage ...

    java应用JVM的GC频率观察方法

    例如,添加`-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime`参数,可以详细记录GC事件,包括简要信息、详细信息、时间戳以及应用暂停时间。此外,可以使用`-Xloggc:...

    Java虚拟机GC日志分析

    通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略。 在Java虚拟机中,GC日志分析可以通过以下命令实现: * -XX:+PrintGC 输出GC日志 * -XX:+PrintGCDetails 输出GC的详细日志 * -XX...

    Java 7 - GC cheatsheet

    Java 7 GC(垃圾回收)参数配置是Java虚拟机(JVM)调优的关键组成部分,它决定了垃圾回收的行为和性能表现。本文将详细介绍Java 7中常见的垃圾回收器和相应的JVM参数,帮助读者更好地理解和使用这些参数进行性能...

    JVM 输出 GC 日志导致 JVM 卡住

    JVM 输出 GC 日志导致 JVM 卡住 JVM 输出 GC 日志导致 JVM 卡住是一个常见的问题,尤其是在高并发和高性能应用中。这个问题的根源在于 JVM 的垃圾回收机制(Garbage Collection,GC),它会在 JVM 运行时周期性地...

    [JAVA·初级]GC垃圾回收机制编程开发技术共14页.p

    例如,`-Xlog:gc*=debug:file=gc.log` 参数可以开启详细的GC日志输出。 总之,【JAVA·初级】GC垃圾回收机制是Java开发者必须掌握的基础知识,深入理解和运用GC机制,能有效提升程序的性能和稳定性。在实践中不断...

    gclog+gcviewer.zip

    这将使JVM在`gc.log`文件中输出包括垃圾回收细节、时间戳等在内的信息,便于我们后续分析。 然后,我们引入了GCViewer工具,这是一个图形化的GC日志分析工具,由Chris Newland开发。GCViewer可以从GC日志中提取数据...

    gcviewer的mac版本

    在Java开发领域,垃圾收集(Garbage Collection, 简称GC)是JVM(Java Virtual Machine)自动管理内存的重要机制。理解并优化GC对于提升Java应用程序的性能至关重要。GCViewer是一款强大的垃圾收集日志分析工具,它...

    JDK9GC-cheatsheet.pdf

    - `-verbose:gc`:输出基本的GC信息。 - `-Xlog:gc*`:提供更详细的GC日志。 - `-Xlog:task*`:输出GC工作线程任务的时间戳。 - `-Xlog:heap`,`-Xlog:age*`,`-Xlog:ref*`:分别针对堆、年轻代年龄和引用处理...

    gcviewer-1.29-bin.zip

    《GCViewer:深入解析Java GC日志分析利器》 在Java开发中,内存管理是至关重要的,特别是垃圾收集(Garbage Collection, GC)的过程。为了优化应用性能,开发者需要理解并监控GC的行为。这时,一款名为GCViewer的...

    JvmGC收集器

    使用 -XX:+PrintGCDetails 参数可以输出每一次 GC 的详细信息。使用 -XX:+PrintGCTimeStamps 参数可以输出 GC 发生的时间。 JvmGC 收集器是 JVM 中的一个重要组件,对 Java 应用程序的性能和可靠性产生重要影响。...

    java私塾跟我学系列-java篇

    9. **反射**:Java反射机制允许在运行时动态获取类的信息并操作类的对象,是Java的重要特性之一。 10. **泛型**:泛型是Java SE 5.0引入的新特性,增强了类型安全,减少类型转换的麻烦。 11. **注解(Annotation)...

    gc2145 mipi 驱动

    这意味着GC2145传感器输出的数据可能是YUV格式,驱动需要处理这种数据格式,将其转换为RGB或其他格式供上层应用使用。 总的来说,GC2145 MIPI驱动在MTK Android 4.4系统中的实现涉及到硬件驱动开发、Android框架...

    GCLogViewer(java性能分析工具)

    这通常可以通过配置JVM参数来实现,例如设置"-XX:+PrintGCDetails"和"-XX:+PrintGCDateStamps",这样JVM就会在标准输出或者指定文件中打印出详细的GC日志信息。 然后,将这些日志文件导入到GCLogViewer中,工具将...

    Java性能调优命令

    例如,`jstack pid`命令用于查看进程id为pid的Java线程的堆栈信息。 4. jmap命令用于观察运行中的JVM物理内存的占用情况。它能打印出每个class的实例数目、内存占用和类全名信息。此外,jmap命令还可以将Java进程的...

    java虚拟机常用命令

    - `-gc`:java堆信息和垃圾回收状况; - `-gccapacity`:关注java堆各个区的最大和最小空间; - `-gccause`:关注新生代gc使用的最大和最小空间,额外输出导致上一次gc的原因; - `-gcnew`:关注新生代gc状况; - `-...

    Java SE编程入门教程 java判断循环(共79页).ppt

    - `java GC(垃圾回收)`解释了Java自动内存管理的过程。 - `java instanceOf`操作符用于检查对象是否是特定类或其子类的实例。 - `java IO`部分涉及输入输出流,这对于读写文件和网络通信至关重要。 - `java Math`...

    jvm调优,java 虚拟机优化

    - `-verbose:gc`:开启GC信息的输出。 - `-XX:PrintGCDetails`:打印详细的GC信息,包括哪些对象被回收,回收了多少内存等。 - `-XX:PrintGCDateStamps`:在GC日志中添加时间戳,便于分析GC发生的时间规律。 - `-...

    Java核心逻辑第1章

    - **垃圾回收(GC)**:自动管理内存,通过`java.lang.System.gc()`或`java.lang.Runtime.gc()`触发垃圾回收机制,简化了程序员的工作。 - **跨平台性**:“Write Once, Run Anywhere”(WORA)是Java的一个重要特性,...

    JAVA-jdk手册

    13. **垃圾收集(Garbage Collection, GC)**:Java自动内存管理的关键部分,手册会解释GC的工作原理和相关调优策略。 14. **多线程编程**:Java提供了强大的多线程支持,手册会介绍如何创建和管理线程,以及同步和...

Global site tag (gtag.js) - Google Analytics