服务生成javacore 和heapdump
来源:互联网 发布:重新安装centos 编辑:程序博客网 时间:2024/05/22 15:47
原文地址未知
在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日志参数说明
(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)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。
(3)IBM JVM
1、配置方法
在JAVA_OPTIONS变量中增加 -XverboseGClog{目录}/mananged1_gc.log。
2、参数说明
在集群环境下,建议按照节点名命名GC日志文件,例如节点1的名称为managed1,则日志文件命名为managed1_gc.log。
3、内存DUMP参数说明
(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进程号。
(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)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文件,无需额外的参数配置。
- 服务生成javacore 和heapdump
- 如何生成javacore和heapdump
- JVM javacore 和 heapdump 文件生成选项
- jvm 生成javacore和heapdump文件
- jvm 生成javacore和heapdump文件
- 如何手动生成heapdump和javacore文件
- jvm 生成 javacore 和 heapdump 文件
- JAVACORE与HEAPDUMP生成大法
- 利用wsadmin生成javacore,heapdump文件
- 如何查看javacore和heapdump文件
- 如何产生javacore文件和heapdump文件
- 如何查看javacore和heapdump文件
- 1.如何产生javacore和heapdump文件
- 如何查看javacore和heapdump文件
- websphere如何产生javacore和heapdump
- 如何查看javacore和heapdump文件
- websphere如何产生javacore和heapdump
- 如何产生javacore和heapdump文件
- 用CSS3实现客户端的全文检索
- 基于MINA的网络应用程序架构
- Android 中点击空白处隐藏软键盘
- Python中的切片
- hadoop配置 - using the other hard disks
- 服务生成javacore 和heapdump
- CSS+DIV中的位置常用标签
- 图形与java2D小结与经验
- android 调用自己写的C函数库 代码
- open /root/.ssh/id_rsa failed: Permission denied. Saving the key failed: /root/.ssh/id_rsa.
- 电路设计中用0欧电阻还是磁珠来隔离数字地和模拟地?
- hdu 4759 - Poker Shuffle(巧妙二进制)
- android下对存储的操作
- Failed to fetch URL http://dl-ssl.google.com/android/repository/addons_list-2.xml, reason: Connectio