2014-09-09T09:45:41.560+0800: 336279.264: [GC2014-09-09T09:45:41.560+0800: 336279.264: [ParNew: 136477K->167K(153344K), 0.0245680 secs] 151436K->15125K(2080128K), 0.0248620 secs] [Times: user=0.05 sys=0.00, real=0.03 secs]
[GC2014-09-09T09:45:41.560+0800: 336279.264: [ParNew: 136477K->167K(153344K), 0.0245680 secs] 151436K->15125K(2080128K), 0.0248620 secs]
这里面表示:[GC时间:[ParNew区的gc情况:136477K到167K,回收了153344Kk,用时0.024秒]
GC的格式,用形式化描述
S ::= [TIME:[GC代情况]+,耗时][Times:用户态耗时,系统态耗时,实际总耗时]
GC代情况 ::= GC代标志:回收前大小->回收后大小(总大小)
即,一个总分的结构,显示GC总体情况,里面包含了各类GC的具体情况。
http://www.oracle.com/technetwork/java/gc-tuning-5-138395.html
GC参数:
-XX:MinHeapFreeRatio=40 -XX:MaxHeapFreeRatio=70 -Xms3670k -Xmx64m
The Young Generation
-XX:+UseParallelGC 并行GC
-Xincgc ™
-XX:+UseConcMarkSweepGC
Note that -XX:+UseParallelGC should not be used with -XX:+UseConcMarkSweepGC .
并行GC和标记扫描GC不能同时使用。
-XX:ParallelGCThreads=<desired number> :指定并行GC的线程数量
-XX:MaxGCPauseMillis=<nnn>最大GC暂停时间毫秒数
-XX:GCTimeRatio=<nnn> ;1 / (1 + <nnn>)
-XX:YoungGenerationSizeIncrement=<nnn > for the young generation and -XX:TenuredGenerationSizeIncrement=<nnn> for the tenured generation. The percentage by which a generation shrinks is adjusted by the command line flag -XX: AdaptiveSizeDecrementScaleFactor=<nnn >. If the size of an increment for growing is XXX percent, the size of the decrement for shrinking will be XXX / nnn percent.
标记扫描GC的参数列表:
-XX:+UseConcMarkSweepGC \
-XX:+CMSIncrementalMode \
-XX:+CMSIncrementalPacing \
-XX:CMSIncrementalDutyCycleMin=0 \
-XX:+CMSIncrementalDutyCycle=10 \
-XX:+PrintGCDetails \
-XX:+PrintGCTimeStamps \
-XX:-TraceClassUnloading
分享到:
相关推荐
通过在java命令种加入参数来指定对应的gc类型,打印gc日志信息并输出至文件等策略。 在Java虚拟机中,GC日志分析可以通过以下命令实现: * -XX:+PrintGC 输出GC日志 * -XX:+PrintGCDetails 输出GC的详细日志 * -XX...
JVM 输出 GC 日志导致 JVM 卡住 JVM 输出 GC 日志导致 JVM 卡住是一个常见的问题,尤其是在高并发和高性能应用中。这个问题的根源在于 JVM 的垃圾回收机制(Garbage Collection,GC),它会在 JVM 运行时周期性地...
下面我们将详细探讨如何使用`jstat`工具以及通过配置GC日志来分析和优化Java进程。 `jstat`是Java虚拟机内置的一个命令行工具,用于实时监控JVM的各种运行状态,包括垃圾回收的信息。要查看哪个进程频繁进行GC,...
此外,可以使用`-Xloggc:gc.log`指定日志输出文件,然后通过工具如GCViewer进行日志分析,以获取更直观的GC行为可视化。 2. 在生产环境下,由于直接修改JVM参数可能影响线上服务,因此通常推荐使用专门的监控工具。...
Java 7 GC(垃圾回收)参数配置是Java虚拟机(JVM)调优的关键组成部分,它决定了垃圾回收的行为和性能表现。本文将详细介绍Java 7中常见的垃圾回收器和相应的JVM参数,帮助读者更好地理解和使用这些参数进行性能...
《GCViewer:深入解析Java GC日志分析利器》 在Java开发中,内存管理是至关重要的,特别是垃圾收集(Garbage Collection, GC)的过程。为了优化应用性能,开发者需要理解并监控GC的行为。这时,一款名为GCViewer的...
本文将详细介绍如何通过Java的GC日志以及GCViewer工具来分析和优化垃圾回收。 首先,我们需要了解什么是GC日志。在Java中,通过设置JVM参数,我们可以开启GC日志功能,记录每一次垃圾回收的详细信息。例如,我们...
例如,`-Xlog:gc*=debug:file=gc.log` 参数可以开启详细的GC日志输出。 总之,【JAVA·初级】GC垃圾回收机制是Java开发者必须掌握的基础知识,深入理解和运用GC机制,能有效提升程序的性能和稳定性。在实践中不断...
GCViewer是一款强大的垃圾收集日志分析工具,它可以帮助开发者直观地查看和分析GC日志,从而更好地理解和调整JVM的内存配置。本文将重点介绍GCViewer在Mac操作系统中的使用方法及相关的Java GC和JVM知识。 首先,让...
这通常可以通过配置JVM参数来实现,例如设置"-XX:+PrintGCDetails"和"-XX:+PrintGCDateStamps",这样JVM就会在标准输出或者指定文件中打印出详细的GC日志信息。 然后,将这些日志文件导入到GCLogViewer中,工具将...
在使用GChisto时,首先需要配置JVM以输出GC日志,这通常通过设置JVM参数来实现,如`-XX:+PrintGCDetails`和`-XX:+PrintGCDateStamps`。然后,将生成的GC日志文件导入到GChisto中进行分析。GChisto会解析这些日志,并...
总结来说,GChisto是一款强大的GC日志分析工具,它通过解析和可视化JVM的GC日志,帮助开发者和运维人员找出内存管理的问题,特别是Old Generation区域的问题,从而提升Java应用的性能和稳定性。正确使用GChisto,并...
- `-Xlog:gc*`:提供更详细的GC日志。 - `-Xlog:task*`:输出GC工作线程任务的时间戳。 - `-Xlog:heap`,`-Xlog:age*`,`-Xlog:ref*`:分别针对堆、年轻代年龄和引用处理提供详细日志。 - `-XX:+...
- `-Xloggc:D:/gc/gc.log`:指定GC日志的输出路径。 配置好这些参数后,重启应用,GC日志就会被记录下来,通过分析这些日志,我们可以找到频繁触发GC的原因,并针对性地调整JVM参数。 对于Tomcat优化,除了JVM层面...
例如,`-Xlog:gc:./gc.log`将GC日志输出到当前目录的`gc.log`文件。 3. **`decorators`** 部分允许你添加装饰器,以增强日志输出的信息,比如时间戳(`time`)、进程ID(`pid`)等。 4. **`output-options`** 允许...
Darks Logs和log4j类似,也适用于Java、Android等项目,但是Darks Logs使用更灵活的配置方式,可以自定义日志输出的方式和格式。 这些Java日志相关技术可以帮助我们更好地开发和维护Java应用程序,对于我们开发者来...
例如,下面是一个简单的GC日志输出示例: ``` [GC (Allocation Failure) [PSYoungGen: 1168K->480K(1536K)] 1168K->1064K(3752K), 0.0012940 secs] [Times: user=0.00 sys=0.00, real=0.00 secs] [Full GC ...
- **内存分配和回收**:通过GC日志,可以观察对象生命周期,了解内存分配与回收的规律。 5. **JMX(Java Management Extensions)** - JMX提供了一种标准的管理和监控Java应用程序的方式。通过MBean(Managed ...
如果希望将日志输出到文件,可以添加`-Xloggc:gc.log`参数,其中`gc.log`是自定义的日志文件名。 GC日志包含的信息可以帮助我们理解内存回收的模式。例如,日志中的 `[PSYoungGen: 612300K->61235K(637952K)]` 表示...
为了获取更详细的GC日志,可以使用`-XX:+PrintGCDetails`,这将展示垃圾收集的详细过程,包括各代内存区域的分配和回收情况。此外,结合`-XX:+PrintGCTimeStamps` 和 `-XX:+PrintGCDateStamps`,可以记录下每次GC...