您好,欢迎来到年旅网。
搜索
您的当前位置:首页weblogic如何添加GC日志及补丁

weblogic如何添加GC日志及补丁

来源:年旅网


Java –jar –d –Xmx4000m aaa.jar

ull GC的gc type就是global,这是stop the world的最耗费时间的回收方式,所以需要通过尽量调整参数来避免。如果发现不是由AF引起的,而是在开头写着SYS标签,那么就要好好问问开发,有没有使用System.gc()的必要?可以的话使用-Xdisableexplicitgc来禁止(Sun等JDK下为-XX:+DisableExplicitGC)。

以上所说的都是IBM JDK下垃圾回收日志的情况。在Sun和HP的JDK下情况相似,不过需要使用-XX:PrintHeapAtGC:参数来打印GC前后的详细堆栈信息。另外我建议加上-Xloggc:filename或者-Xverbosegclog:file_name(方便用工具分析)输出到特定文件,因为不知为何有时候会输出到native_stderr.log,或者在native_stdout.log中和thread dump夹杂在一起,不方便分析。

将GC日志输出到文件:不同JDK设置的参数不同,参考JDK官方文档

SUN:-Xloggc:filename(例如:-Xloggc:/home/weblogic/bea/gc$$.vgc)

IBM:-Xverbosegc:file=filename或-Xverbosegclog:filename

HP:-Xverbosegc=filename

IBM JDK

-verbose:gc -Xverbosegclog:

例:

JAVA_OPTIONS=\"-Xms$3m -Xverbosegclog:logs/$1.gc.log.$$\"

-Xmx$3m -Xdisableexplicitgc -verbose:gc

export JAVA_OPTIONS

HP JDK

-Xverbosegc[:help]|[0|1][:file=[stdout|stderr|]] -Xloggc

Sun JDK / BEA Jrockit

-verbose:gc

sun 模板

nohup ./startWebLogic.sh -verbosegc -Xnoagent -Xloggc:./gc.log &

或者:

export USER_MEM_ARGS=\"-verbosegc -Xnoagent -Xloggc:./gc.log\"

nohup ./startWebLogic.sh &

windows环境:

D:\\bea\projects\\domains\\develop_domain\\bin>startManagedWebLogic.cmd MS1 htt

p://localhost:7001 -verbose:gc -Xloggc:d:\\gc.log

HP JDK

-verbosegc -Xverbosegc:file=gclog/AdminServer.gc.log

-XX:-PrintGC

默认不启用

开启GC日志打印。

打印格式例如:

[Full GC 131115K->7482K(1015808K), 0.1633180 secs]

该选项可通过 com.sun.management.HotSpotDiagnosticMXBean API 和 Jconsole 动态启用。

详见

http://java.sun.com/developer/technicalArticles/J2SE/monitoring/#Heap_Dump

-XX:-PrintGCDetails

1.4.0引入,默认不启用

打印GC回收的细节。

打印格式例如:

[Full GC (System) [Tenured: 0K->2394K(466048K), 0.0624140 secs] 30822K->2394K(5184K), [Perm : 10443K->10443K(16384K)], 0.06210 secs] [Times: user=0.05 sys=0.01, real=0.06 secs]

该选项可通过 com.sun.management.HotSpotDiagnosticMXBean API 和 Jconsole 动态启用。

详见

http://java.sun.com/developer/technicalArticles/J2SE/monitoring/#Heap_Dump

-XX:-PrintGCTimeStamps

默认不启用

打印GC停顿耗时。

打印格式例如:

2.744: [Full GC (System) 2.744: [Tenured: 0K->2441K(466048K), 0.0598400 secs] 317K->2441K(5184K), [Perm : 10717K->10717K(16384K)], 0.0599570 secs] [Times: user=0.06 sys=0.00, real=0.06 secs]

在AIX机器上该选项为-verbose:gc -Xverbosegclog:gc.log 可在setDomainEnv里指定\"-Xms1024 -Xmx1536 -verbose:gc -Xverbosegclog:gc_$$.log\"

根据目前的情况,建议\"-Xms1024 -Xmx1536 -verbose:gc

-Xverbosegclog:gc_$$.log\"(如果操作系统内存允许的话) 先这样设2个简单的参数,在内存溢出这个问题解决了在加上gc策略、新生代与老生代的比例、kCluster和pCluster的参数,其他根据需要再慢慢添加。

你得回忆下这个WebLogic Server是怎么安装上去的,就知道是不是WebLogic Server自带的JDK了,不过这个也不重要。

[quote]JVMDUMP010I Snap dump written to

/home/weblogic/bea103/user_projects/domains/alone_domain/Snap.20100424.110622.417982.0001.trc

JVMDUMP032I JVM requested Heap dump using

'/home/weblogic/bea103/user_projects/domains/alone_domain/heapdump.20100424.110622.417982.0002.phd' in response to an event[/quote]

J9VM的这个版本内存溢出时自动(不用加参数)生成一个phd格式的heapdump文件,你的没有么?

heapdump文件有点大,急的话到本论坛的群里问问吧。现在在外地出差,晚上的车回去。这两天没时间了。

将heapdump文件拷出来,下载一个IBM的JVM内存溢出分析工具看着帮助先慢慢分析着。

[url]http://www.alphaworks.ibm.com/tech/heapanalyzer/download[/url]

[b]打补丁方法:[/b]

CR开头的都可以这样

1.在Weblogic10/common/bin/commEnv.sh脚本中,找到

WEBLOGIC_CLASSPATH一行

2.在WEBLOGIC_CLASSPATH变量的[b][color=#ff0000]最前面[/color][/b]添加补丁jar包。

Eg: WEBLOGIC_CLASSPATH=/路径/CR370915_1030GA.jar:$ 。。。。。。。。。。。。。。。。。

你刚开始说打上那个补丁了,是否是加在setDomainEnv.sh中了?

CLASSPATH=\"/patch>/CR370915.jar:${PRE_CLASSPATH}${CLASSPATHSEP}${WEBLOGIC_CLASSPATH}${CLASSPATHSEP}${POST_CLASSPATH}${CLASSPATHSEP}${WLP_POST_CLASSPATH}\"

其实这样也可以,只是只对这个域生效,其他的域就无效了。所以给WebLogic Server打补丁还是要修改最后被调用的那个公共的脚本(commEnv.sh ),有余力的话,仔细看看

WebLogic Server的启动流程(主要是脚本调用)。你把启动时,启动脚本输出的内容贴出来,让大家帮你检查下你打成功没有。

find / -name commEnv.sh

如果你是理解Class Loader工作原理的话,为什么要加在CLASSPATH的最前面你可能就明白了,暂时能使补丁打上就行

WEBLOGIC_CLASSPATH=\"${PATCH_CLASSPATH}${CLASSPATHSEP}${JAVA_HOME}/lib/tools.jar${CLASSPATHSEP}${WL_HOME}/server/lib/weblogic_sp.jar${CLASSPATHSEP}${WL_HOME}/server/lib/weblogic.jar${CLASSPATHSEP}${WL_HOME}/server/lib/webservices.jar\"

修改为:

WEBLOGIC_CLASSPATH=/home/weblogic/wlspk/8173442_92mp3.jar:\"${PATCH_CLASSPATH}${CLASSPATHSEP}${JAVA_HOME}/lib/tools.jar${CLASSPATHSEP}${WL_HOME}/server/lib/weblogic_sp.jar${CLASSPATHSEP}${WL_HOME}/server/lib/weblogic.jar${CLASSPATHSEP}${WL_HOME}/server/lib/webservices.jar\"

IBM Thread and Monitor Dump Analyzer for Java

[url]http://www.alphaworks.ibm.com/tech/jca[/url]

IBM Pattern Modeling and Analysis Tool for Java Garbage Collector

[url]http://www.alphaworks.ibm.com/tech/iag[/url]

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务