jvm gc 日志和dump参数

来源:互联网 发布:网络大额度贷款 编辑:程序博客网 时间:2024/05/22 02:31

Java实践

  • 博客
  • 微博
  • 相册
  • 收藏
  • 留言
  • 关于我

JVM GC日志和内存DUMP参数配置

    博客分类: 
  • JDK
jvmdumpgchpibm 
  在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_<pid>_<date>_<time>_heapDump.hprof。 
   (3)Oracle JVM的6.0版本去掉了-XX:+HeapDumpOnCtrlBreak参数,如果需要产生DUMP文件,请采用jmap命令,命令行格式如下: 
       jmap  -dump:format=b,file=managed1_heapdump.hprof  <pid> 
   其中managed1_heapdump.hprof表示生成的DUMP文件名称,pid表示Java进程号。 
3.2.HP JVM 
1、配置方法 
   在JAVA_OPTIONS变量中增加 
-XX:+HeapDumpOnOutOfMemoryError  -XX:+HeapDumpOnCtrlBreak 
-XX:HeapDumpPath=${目录}。 
2、参数说明 
   (1)-XX:+HeapDumpOnOutOfMemoryError参数表示当JVM发生OOM时,自动生成DUMP文件。 
   (2)-XX:HeapDumpPath=${目录}参数表示生成DUMP文件的路径,也可以指定文件名称,如果不指定文件名,默认文件示例如下:java_pid2821.hprof.1313372696928,其中2821为Java进程号,1313372696928为自动生成的数字。 
   (3)-XX:+HeapDumpOnCtrlBreak参数表示可以通过kill  -3  <pid>根据需要产生DUMP文件。 
3.3.IBM JVM 
1、配置方法 
   在JAVA_OPTIONS变量中增加 
-Xdump:heap:events=user,file=${目录}/pid%uid%pid.phd。 
2、参数说明 
   (1)-Xdump:heap:events=user,file=${目录}/pid%uid%pid.phd表示可以根据需要通过kill  -3  <pid>产生DUMP文件,%uid和%pid为变量。生成的文件名称示例:pidtestuser303118.phd,其中testuser为uid,303118为pid;IBM JVM采用kill -3同时会生成另外一个javacore文件,文件示例:javacore.20110815.173356.303118.0002.txt。 
(2)IBM JVM当发生OOM时会自动生成DUMP文件,无需额外的参数配置。 
2 
4 
分享到:  
产品研发需要回答的5个问题 | 各厂商JDK版本信息参考
  • 2011-08-15 23:21
  • 浏览 12209
  • 评论(1)
  • 分类:编程语言
  • 相关推荐
参考知识库
OpenCV知识库2  关注 | 555  收录
软件测试知识库63  关注 | 244  收录
C++知识库525  关注 | 579  收录
C语言知识库667  关注 | 1842  收录
评论
1 楼 bo_hai 2015-10-06  
有用,实用。
发表评论

 您还没有登录,请您登录后再发表评论

whzhengzy
  • 浏览: 62728 次
  • 性别: Icon_minigender_1
  • 来自: China
最近访客 更多访客>>
linuke
yhiccj
nvarchar123
guocy
文章分类
  • 全部博客 (15)
  • WebLogic (7)
  • Web应用 (3)
  • JDK (4)
  • 研发 (2)
  • Spring (0)
社区版块
  • 我的资讯 (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补丁
0 0
原创粉丝点击