- 使用JConsole/JMX 连接到正在运行Wowza Media Server
- 选择MBeans tab
- 选择com.sun.management/HotSpotDiagnostics 对象的Operation
-
在dumpHeap参数中输入下面的信息,然后点击dumpHeap按钮:
p0: [heap-output-path] p1: true - do a garbage collection before dump heap for example: p0: c:/dump.dmp p1: true
使用JHat命令获得Java heap dump 数据
- 打开命令行窗口,进入JDK的安装目录
- 使用操作系统提供的工具(例如Linux服务器上的 ps -ef 或者Windows上的任务管理器)找到运行Wowza Streaming Engine的Java进程ID。
-
执行以下命令:
jmap -dump:format=b,file=c:\Temp\mymemorydump.hprof [pid]
其中 [pid] 是Wowza服务进程的ID。
在下一次抛出OutOfMemory错误的时候自动输出Java heap dump 数据
你也可以配置Java,让它在抛出OutOfMemory错误时输出Java heap dump。 若要这么做,请编辑[install-dir]/bin/setenv.sh (或Windows服务器上的[install-dir]/bin/setenv.bat 或 [install-dir]/bin/WowzaMediaServer-Service.conf),添加以下到JAVA_OPTS:
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=[path-to-heapdump]其中,[path-to-heapdump] 是Java heap dump 文件保存的路径(例如 /opt)。www.ttstream.com
这里还有关于这一点的一些更详细的介绍:
http://stackoverflow.com/questions/5...dump-for-jboss
获得Java Heap dump文件后,将它上传到某个地方,让Wowza的技术支持团队可以下载下来帮你分析。
在生成Java Heap dump文件前强制垃圾回收,请先执行以下命令:
jcmd [pid] GC.run