-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的位置,以文件输出 帮助开发人员分析问题
目录可以是一个相对当前目录的相对地址,但是目录要存在,否则没有输出文件.
相关推荐
`jstat -gc` 输出的信息中,你可以关注以下几个关键指标: 1. **YGCT**:Young Generation Garbage Collection Time,年轻代GC时间。 2. **FGCT**:Full GC Time,完整GC时间。 3. **GCT**:Total Garbage ...
例如,添加`-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCApplicationStoppedTime`参数,可以详细记录GC事件,包括简要信息、详细信息、时间戳以及应用暂停时间。此外,可以使用`-Xloggc:...
通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略。 在Java虚拟机中,GC日志分析可以通过以下命令实现: * -XX:+PrintGC 输出GC日志 * -XX:+PrintGCDetails 输出GC的详细日志 * -XX...
Java 7 GC(垃圾回收)参数配置是Java虚拟机(JVM)调优的关键组成部分,它决定了垃圾回收的行为和性能表现。本文将详细介绍Java 7中常见的垃圾回收器和相应的JVM参数,帮助读者更好地理解和使用这些参数进行性能...
JVM 输出 GC 日志导致 JVM 卡住 JVM 输出 GC 日志导致 JVM 卡住是一个常见的问题,尤其是在高并发和高性能应用中。这个问题的根源在于 JVM 的垃圾回收机制(Garbage Collection,GC),它会在 JVM 运行时周期性地...
例如,`-Xlog:gc*=debug:file=gc.log` 参数可以开启详细的GC日志输出。 总之,【JAVA·初级】GC垃圾回收机制是Java开发者必须掌握的基础知识,深入理解和运用GC机制,能有效提升程序的性能和稳定性。在实践中不断...
这将使JVM在`gc.log`文件中输出包括垃圾回收细节、时间戳等在内的信息,便于我们后续分析。 然后,我们引入了GCViewer工具,这是一个图形化的GC日志分析工具,由Chris Newland开发。GCViewer可以从GC日志中提取数据...
在Java开发领域,垃圾收集(Garbage Collection, 简称GC)是JVM(Java Virtual Machine)自动管理内存的重要机制。理解并优化GC对于提升Java应用程序的性能至关重要。GCViewer是一款强大的垃圾收集日志分析工具,它...
- `-verbose:gc`:输出基本的GC信息。 - `-Xlog:gc*`:提供更详细的GC日志。 - `-Xlog:task*`:输出GC工作线程任务的时间戳。 - `-Xlog:heap`,`-Xlog:age*`,`-Xlog:ref*`:分别针对堆、年轻代年龄和引用处理...
《GCViewer:深入解析Java GC日志分析利器》 在Java开发中,内存管理是至关重要的,特别是垃圾收集(Garbage Collection, GC)的过程。为了优化应用性能,开发者需要理解并监控GC的行为。这时,一款名为GCViewer的...
使用 -XX:+PrintGCDetails 参数可以输出每一次 GC 的详细信息。使用 -XX:+PrintGCTimeStamps 参数可以输出 GC 发生的时间。 JvmGC 收集器是 JVM 中的一个重要组件,对 Java 应用程序的性能和可靠性产生重要影响。...
9. **反射**:Java反射机制允许在运行时动态获取类的信息并操作类的对象,是Java的重要特性之一。 10. **泛型**:泛型是Java SE 5.0引入的新特性,增强了类型安全,减少类型转换的麻烦。 11. **注解(Annotation)...
这意味着GC2145传感器输出的数据可能是YUV格式,驱动需要处理这种数据格式,将其转换为RGB或其他格式供上层应用使用。 总的来说,GC2145 MIPI驱动在MTK Android 4.4系统中的实现涉及到硬件驱动开发、Android框架...
这通常可以通过配置JVM参数来实现,例如设置"-XX:+PrintGCDetails"和"-XX:+PrintGCDateStamps",这样JVM就会在标准输出或者指定文件中打印出详细的GC日志信息。 然后,将这些日志文件导入到GCLogViewer中,工具将...
例如,`jstack pid`命令用于查看进程id为pid的Java线程的堆栈信息。 4. jmap命令用于观察运行中的JVM物理内存的占用情况。它能打印出每个class的实例数目、内存占用和类全名信息。此外,jmap命令还可以将Java进程的...
- `-gc`:java堆信息和垃圾回收状况; - `-gccapacity`:关注java堆各个区的最大和最小空间; - `-gccause`:关注新生代gc使用的最大和最小空间,额外输出导致上一次gc的原因; - `-gcnew`:关注新生代gc状况; - `-...
- `java GC(垃圾回收)`解释了Java自动内存管理的过程。 - `java instanceOf`操作符用于检查对象是否是特定类或其子类的实例。 - `java IO`部分涉及输入输出流,这对于读写文件和网络通信至关重要。 - `java Math`...
- `-verbose:gc`:开启GC信息的输出。 - `-XX:PrintGCDetails`:打印详细的GC信息,包括哪些对象被回收,回收了多少内存等。 - `-XX:PrintGCDateStamps`:在GC日志中添加时间戳,便于分析GC发生的时间规律。 - `-...
- **垃圾回收(GC)**:自动管理内存,通过`java.lang.System.gc()`或`java.lang.Runtime.gc()`触发垃圾回收机制,简化了程序员的工作。 - **跨平台性**:“Write Once, Run Anywhere”(WORA)是Java的一个重要特性,...
13. **垃圾收集(Garbage Collection, GC)**:Java自动内存管理的关键部分,手册会解释GC的工作原理和相关调优策略。 14. **多线程编程**:Java提供了强大的多线程支持,手册会介绍如何创建和管理线程,以及同步和...