在weblogic中打开gc日志开关并打印详细信息

在相应的domain目录下进入setDomainEnv.sh

JAVA_OPTIONS="后面增加

sun jdk:

${JAVA_OPTIONS} -verbosegc -Xverboselog:/home/weblogic/bea/gc.`date +%Y%m%d_%H%M%S`

IBM jdk

${JAVA_OPTIONS} -verbosegc -Xloggc:/home/weblogic/bea/gc.`date +%Y%m%d_%H%M%S`

故此,gc开关打开

每次showdown的时候(包括宕机的情况),weblogic实例后就会生成gc日志文件来记录java虚拟机的gc日志,包括其中具体线程的详细信息

如果要打印gc的详细信息,则可以加上以下参数

-XX:+PrintGCDetails

gc日志会打印出类以下信息:

0.077: [GC 0.077: [DefNew: 1364K->437K(4928K), 0.0017301 secs]

0.079: [Tenured: 8704K->949K(10944K), 0.1680245 secs] 9556K->949K(15872K),

[Perm : 141K->141K(12288K)], 0.1698671 secs] [Times: user=0.00 sys=0.00, real=0.17 secs]

0.249: [Full GC (System) 0.249: [Tenured: 9141K->9142K(10944K), 0.0032902 secs] 9320K->9142K(15936K),

[Perm : 141K->141K(12288K)], 0.0033866 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]

Heap

def new generation   total 6912K, used 122K [0x22cb0000, 0x23430000, 0x28200000)

eden space 6144K,   2% used [0x22cb0000, 0x22ccebf0, 0x232b0000)

from space 768K,   0% used [0x232b0000, 0x232b0000, 0x23370000)

to   space 768K,   0% used [0x23370000, 0x23370000, 0x23430000)

tenured generation   total 15240K, used 9142K [0x28200000, 0x290e2000, 0x32cb0000)

the space 15240K,  59% used [0x28200000, 0x28aed808, 0x28aeda00, 0x290e2000)

compacting perm gen  total 12288K, used 141K [0x32cb0000, 0x338b0000, 0x36cb0000)

the space 12288K,   1% used [0x32cb0000, 0x32cd37a0, 0x32cd3800, 0x338b0000)

ro space 10240K,  45% used [0x36cb0000, 0x37137290, 0x37137400, 0x376b0000)

rw space 12288K,  54% used [0x376b0000, 0x37d3ace8, 0x37d3ae00, 0x382b0000)

1. 0.077表示GC发生的时间,从JVM启动的时候开始算,单位是秒。

2. [Tenured: 8704K->949K(10944K), 0.1680245 secs] 9556K->949K(15872K), 8704K->949K(10944K)表示GC前该内存区域已使用容量-> GC后该内存区域已使用容量 (该内存区域总容量),9556K->949K(15872K)表示GC前Java堆已使用容量 -> GC后Java堆已使用容量 (Java堆总容量)。

3. GC和Full GC只是表示这次垃圾收集的停顿类型,而不是用来区分新生代GC还是老年代GC的。如果有Full,说明这次GC是发生了Stop-The-World。

4. [DefNew]、[Tenured]、[Perm]表示GC发生的区域,这里显示的区域名称与使用的GC收集器是密切相关的,例如像上面的收集器中的新生代名为[Default New Generation],所以显示的是[DefNew]。如果是ParNew收集器,新生代名称就会变为[ParNew],意为[Parallel New Generation]。如果采用Parallel Scavenge收集器,那它配套的新生代称为[PSYoungGen],老年代和永久代同理,名称也是由收集器决定的。

因为gc日志中打印出的时间是距jvm启动后的时间,所以最好在创建gc日志文件时记录创建的时间,如`date +%Y%m%d_%H%M%S`,这样才能具体算出具体的gc时间

时间: 2024-08-09 23:55:01

在weblogic中打开gc日志开关并打印详细信息的相关文章

浅析JVM中的GC日志

目录 一.GC日志的格式分析 二.运行时开启GC日志 一.GC日志的格式分析 在讲述GC日志之前,我们先来运行下面这段代码 1 package com.example; 2 3 public class TestMinorGC { 4 private static final int _1MB = 1024*1024; 5 6 public static void testAllocation() { 7 byte[] allocation1, allocation2, allocation3,

Mybatis中在log日志或控制台打印执行的sql

最近在调试代码时,需要查看当前操作执行的sql,在日志里没查到,经过修改logback配置后成功,现记录如下:一.Mybatis版本是3.0.6(我正在用的版本)该版本只需要修改logback.xml <logger name="java.sql.Connection" level="DEBUG" /><logger name="java.sql.Statement" level="DEBUG" />&

找出一个二维数组中的&quot;鞍点&quot;,即该位置上的元素在该行中最大,在该列中最小(也可能没有&quot;鞍点&quot;),打印有关信息.(提示:注意特殊情况:没鞍点或多个鞍点)

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { int a[3][4] = {0}; for(int i = 0;i < 3;i++){ for (int j = 0;j < 4; j++){ a[i][j] = arc4random()%(90 - 10 + 1) + 20; printf("%d ",a[i][j]); } printf("\n&

python中利用tracekback跟踪栈以及打印异常信息

?##sys.exc_info() 返回 (type, value, traceback). type为异常类型, value为异常的参数(通常为异常错误的信息), traceback为跟踪回溯的对象. exc_type, exc_value, exc_traceback = sys.exc_info() print "*** print sys.exc_info:" print 'exc_type is: %s, exc_value is: %s, exc_traceback is:

【转】gc日志分析工具

性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc日志 -verbose.gc开关可显示GC的操作内容.打开它,可以显示最忙和最空闲收集行为发生的时间.收集前后的内存大小.收集需要的时间等. 打开-xx:+ printGCdetails开关,可以详细了解GC中的变化. 打开-XX: + PrintGCTimeStamps开关,可以了解这些垃圾收集发

GC之七--gc日志分析工具

性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc日志 -verbose.gc开关可显示GC的操作内容.打开它,可以显示最忙和最空闲收集行为发生的时间.收集前后的内存大小.收集需要的时间等. 打开-xx:+ printGCdetails开关,可以详细了解GC中的变化. 打开-XX: + PrintGCTimeStamps开关,可以了解这些垃圾收集发

浅谈 G1 GC 日志格式

在 Java9 中,G1 GC 将成为默认的垃圾收集器,G1 垃圾收集器的关键特性之一是能够在不牺牲吞吐量的同时,限制 GC 暂停时间(即可以设置所需的最大停顿时间). 由于 G1 GC 正在逐渐成为默认的垃圾收集器,它的使用与关注度也会逐渐增加.因此在调整 JVM 大小和排查问题的情况下,必须先理解 G1 GC 的日志格式,接下来将介绍如何理解 G1 GC 的日志格式.由于 G1 GC 日志中有许多与子任务相关的信息,因此为了更好地理解和利用这些信息,我推荐使用 GC 日志分析工具:http:

快速解读GC日志(转)

本文是 Plumbr 发行的 Java垃圾收集手册 的部分内容.文中将介绍GC日志的输出格式, 以及如何解读GC日志, 从中提取有用的信息.我们通过 -XX:+UseSerialGC 选项,指定JVM使用串行垃圾收集器, 并使用下面的启动参数让 JVM 打印出详细的GC日志: -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps 这样配置以后,发生GC时输出的日志就类似于下面这种格式(为了显示方便,已手工折行): 20

HBase GC日志

HBase依靠ZooKeeper来感知集群成员及其存活性.如果一个服务器暂停了很长时间,它将无法给ZooKeeper quorum发送心跳信息,其它服务器会认为这台服务器已死亡.这将导致master为其启动恢复进程.当该服务器脱离停顿时,它会发现它的所有租约都已失效(hbase client端每次和regionserver交互的时候,都会在服务器端生成一个租约(Lease),租约的有效期由参数hbase.regionserver.lease.period确定),然后自杀.HBase开发团队亲切地