文章主题
本文详细介绍如何使用jmap获取Agile PLM运行时的Java Heap Dump信息。
-XX:+HeapDumpOnOutOfMemoryError
强烈建议将-XX:+HeapDumpOnOutOfMemoryError 添加到jvm参数中,确保一旦内存溢出自动产生heap dump log。使用此参数,确保jdk使用的是 1.5.0_17以上版本
-
Oracle Application Server
编辑OAS_HOME/opmn/conf/opmn.xml,添加红色部分
<process-type id="home" module-id="OC4J" status="enabled"> <module-data> <category id="start-parameters"> <data id="java-options" value="-server -XX:+HeapDumpOnOutOfMemoryError …"/> <data id="oc4j-options" value="-verbosity 10 -userThreads"/> <data id="java-bin" value="d:/jdk1.6.0_17/bin/java"/> </category>Heap Dump会写到OAS\opmn\bin\java_pid<pid>.<date>.<time>.hprof文件中
-
Oracle Weblogic Server
修改启动脚本,如startAgile.cmd等
“/u01/java6/bin/java" –server -XX:+HeapDumpOnOutOfMemoryError -XX:MaxPermsize=...Heap Dump会写到/u01/java6/bin/java\bin\java_pid<pid>.<date>.<time>.hprof文件中
JMAP
jmap的使用确保服务器运行jdk1.6.0以上的版本,见上述绿色部分
jmap语法
jmap -dump:format=b,file=heapdump.out
比如
[root@zlinux bin]# ./jmap -dump:format=b,file=heapdump.out 29727
Attaching to process ID 29727, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 16.2-b04
Dumping heap to heapdump.out ...
Finding object size using Printezis bits and skipping over...
Heap dump file created
Heap Dump会写到指定的heapdump.out文件中

本文介绍如何配置AgilePLM环境以在Java内存溢出时自动生成Heap Dump文件,包括在Oracle Application Server及WebLogic Server中的具体设置步骤,并通过jmap工具手动获取Heap Dump。
3752

被折叠的 条评论
为什么被折叠?



