JVM GC日志和内存DUMP参数配置
博客分类: JDK
jvm dump gc hp ibm
在JVM出现内存溢出或泄露时,为便于排查和定位,需要JVM的启动上增加相应的参数。主要是GC日志和内存DUMP参数。详细如下。
1.GC日志和内存DUMP参数配置
本文参数配置基于各厂商的JDK 6.0版本,低版本或高版本的参数有可能不同。各厂商JVM GC日志和内存DUMP参数配置如下:
(1)Oracle JVM
-Xloggc:${目录}/managed1_gc.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=${目录}
(2)HP JVM
-Xverbosegc:file=${目录}/mananged1_gc.log
-XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreak
-XX:HeapDumpPath=${目录}
(3)IBM JVM
-XverboseGClog: ${目录}/mananged1_gc.log
-Xdump:heap:events=user,file=${目录}/pid%uid%pid.phd
2.GC日志参数说明
2.1.Oracle JVM
1、配置方法
在JAVA_OPTIONS变量中增加 -Xloggc:${目录}/managed1_gc.log。
2、参数说明
(1)在集群环境下,建议按照节点名命名GC日志文件,例如节点1的名称为managed1,则日志文件命名为managed1_gc.log。
(2)备注:如果只有-verbose:gc参数,gc日志会输出到控制台上,如果-verbose:gc和-Xloggc:filename参数共存,以-Xloggc为准。-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 可以增加,但是增加后产生的gc日志用HPjemeter工具不能识别,其中-XX:+PrintGC参数和单独的-verbose:gc或者单独的-Xloggc的输出是一样的,都是简要信息。
2.2.HP JVM
1、配置方法
在JAVA_OPTIONS变量中增加 -Xverbosegc:file=${目录}/mananged1_gc.log。
2、参数说明
(1)在集群环境下,建议按照节点名命名GC日志文件,例如节点1的名称为managed1,则日志文件命名为managed1_gc.log。
(2)HP JVM的GC日志文件生成时会自动增加进程号(PID),例如:managed1_gc.log.2252,其中2252为Java进程ID。
2.3.IBM JVM
1、配置方法
在JAVA_OPTIONS变量中增加 -XverboseGClog:${目录}/mananged1_gc.log。
2、参数说明
在集群环境下,建议按照节点名命名GC日志文件,例如节点1的名称为managed1,则日志文件命名为managed1_gc.log。
3.内存DUMP参数说明
3.1.Oracle JVM
1、配置方法
在JAVA_OPTIONS变量中增加
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${目录}。
2、参数说明
(1)-XX:+HeapDumpOnOutOfMemoryError参数表示当JVM发生OOM时,自动生成DUMP文件。
(2)-XX:HeapDumpPath=${目录}参数表示生成DUMP文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。如果不指定文件名,默认为:java___
1.GC日志和内存DUMP参数配置
本文参数配置基于各厂商的JDK 6.0版本,低版本或高版本的参数有可能不同。各厂商JVM GC日志和内存DUMP参数配置如下:
(1)Oracle JVM
-Xloggc:${目录}/managed1_gc.log
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=${目录}
(2)HP JVM
-Xverbosegc:file=${目录}/mananged1_gc.log
-XX:+HeapDumpOnOutOfMemoryError -XX:+HeapDumpOnCtrlBreak
-XX:HeapDumpPath=${目录}
(3)IBM JVM
-XverboseGClog: ${目录}/mananged1_gc.log
-Xdump:heap:events=user,file=${目录}/pid%uid%pid.phd
2.GC日志参数说明
2.1.Oracle JVM
1、配置方法
在JAVA_OPTIONS变量中增加 -Xloggc:${目录}/managed1_gc.log。
2、参数说明
(1)在集群环境下,建议按照节点名命名GC日志文件,例如节点1的名称为managed1,则日志文件命名为managed1_gc.log。
(2)备注:如果只有-verbose:gc参数,gc日志会输出到控制台上,如果-verbose:gc和-Xloggc:filename参数共存,以-Xloggc为准。-XX:+PrintGC -XX:+PrintGCDetails -XX:+PrintGCTimeStamps 可以增加,但是增加后产生的gc日志用HPjemeter工具不能识别,其中-XX:+PrintGC参数和单独的-verbose:gc或者单独的-Xloggc的输出是一样的,都是简要信息。
2.2.HP JVM
1、配置方法
在JAVA_OPTIONS变量中增加 -Xverbosegc:file=${目录}/mananged1_gc.log。
2、参数说明
(1)在集群环境下,建议按照节点名命名GC日志文件,例如节点1的名称为managed1,则日志文件命名为managed1_gc.log。
(2)HP JVM的GC日志文件生成时会自动增加进程号(PID),例如:managed1_gc.log.2252,其中2252为Java进程ID。
2.3.IBM JVM
1、配置方法
在JAVA_OPTIONS变量中增加 -XverboseGClog:${目录}/mananged1_gc.log。
2、参数说明
在集群环境下,建议按照节点名命名GC日志文件,例如节点1的名称为managed1,则日志文件命名为managed1_gc.log。
3.内存DUMP参数说明
3.1.Oracle JVM
1、配置方法
在JAVA_OPTIONS变量中增加
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${目录}。
2、参数说明
(1)-XX:+HeapDumpOnOutOfMemoryError参数表示当JVM发生OOM时,自动生成DUMP文件。
(2)-XX:HeapDumpPath=${目录}参数表示生成DUMP文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。如果不指定文件名,默认为:java_
2
顶
顶
4
踩
踩
产品研发需要回答的5个问题 | 各厂商JDK版本信息参考
- 2011-08-15 23:21
- 浏览 12209
- 评论(1)
- 分类:编程语言
- 相关推荐
评论
1 楼 bo_hai 2015-10-06
有用,实用。
发表评论
您还没有登录,请您登录后再发表评论
- 浏览: 62728 次
- 性别:
- 来自: China
-
最近访客 更多访客>>
社区版块
- 我的资讯 (0)
- 我的论坛 (0)
- 我的问答 (0)
存档分类
- 2012-05 (1)
- 2011-10 (1)
- 2011-09 (3)
- 更多存档...
最新评论
- bo_hai: 有用,实用。
JVM GC日志和内存DUMP参数配置 - ironsabre: 我们也遇到你说的这个问题了。 但是,如何来保证weblogic ...
关于WebLogic集群多播地址方面的问题解决 - forcer521: 非常不错,试试去。
应用日志文件没有生成(log4j+spring) - fxl2375: 解决了,松了一口气,不过我加CLASSPATH的时候jar后面 ...
WebLogic 10gR3版本的CR380042_103GA.jar补丁 - whzhengzy: 见附件............................ ...
WebLogic 10gR3版本的CR380042_103GA.jar补丁
参考知识库