use*_*319 17 java apache websphere jvm java-ee
可能重复:
我可以强制生成JVM崩溃日志文件吗?
如何在Java应用程序服务器上或一般情况下强制或生成JVM核心转储?
dev*_*per 20
问题(摘要): 要诊断与在WebSphere Application Server Community Edition上运行的客户应用程序的挂起或性能不佳相关的问题,将要求用户生成各种转储并将其发送给IBM支持人员进行诊断.
此技术说明解释了当WebSphere Application Server Community Edition作为操作系统服务运行时如何生成所需的转储.此技术说明适用于IBM Java SDK 1.5.0和IBM Java SDK 1.6.0
原因:当客户应用程序在IBM Java SDK 1.5.0或IBM Java SDK 1.6.0上使用WebSphere Application Server Community Edition时出现挂起或性能不佳,并且服务器作为操作系统服务运行时,相应的命令/ shell窗口用户无法使用服务器进程.因此,无法从键盘发送用户信号以触发转储.
解决问题:当JVM进程命令窗口可用时,生成转储很简单,如下所示:
Windows:
如果JVM设置配置为在用户信号处触发转储,请按CRTL+Break命令窗口以生成转储.
Linux:如果JVM设置配置为在用户信号处生成转储,请按CTRL+\shell窗口.
AIX:如果JVM设置配置为在用户信号处生成转储,请按CTRL+\shell窗口.
注意:为了在用户信号处生成java核心转储,系统核心转储,堆转储和快照转储,必须通过JVM选项配置转储代理,如下所示:
-Xdump:java+heap+system+snap:events=user
Run Code Online (Sandbox Code Playgroud)
有关如何配置转储代理的更多信息,请访问-Xdump.
但是,如果WebSphere Application Server Community Edition作为操作系统服务运行,则命令窗口可能不可用.在Windows上使用javaw.exe启动JVM进程时,也会出现这种情况.
在前面的情况下,用户需要找到JVM进程的相应进程ID,并使用操作系统供应商提供的工具或IBM提供的工具按照以下步骤生成转储.
Windows: 可以从Microsoft Dev工具站点下载WinDbg以生成系统核心转储.在WinDbg控制台上使用以下命令生成系统核心转储:
dump /f <dumpfile>
Run Code Online (Sandbox Code Playgroud)
其中dumpfile包含目录路径和系统核心转储文件的名称.确保使用该/f选项而不是/ma.该/f生成完全转储,其中作为/ma生成小型转储.IBM Java SDK 1.5.0/1.6.0提供的jextract工具仅支持完全转储.
适用于Windows的SendSignal实用程序.为此,必须设置JVM以生成用户信号的转储.要在用户信号处生成Java核心转储,堆转储,系统核心转储和快照转储,必须在启动时向JVM提供以下选项:
-Xdump:java+heap+system+snap:events=user
Run Code Online (Sandbox Code Playgroud)
注意:SendSignal实用程序可用于生成所有类型的转储,其中WinDbg仅生成系统核心转储.
Linux and AIX:Linux和AIX的信号是SIGQUIT.使用该命令发送用户信号以触发各种转储:
kill -3 <PID>
Run Code Online (Sandbox Code Playgroud)
为此,必须设置JVM以在用户信号上生成转储.要在用户信号下生成Java核心转储,堆转储,系统核心转储和快照池,必须在启动时向JVM提供以下选项.
-Xdump:java+heap+system+snap:events=user
Run Code Online (Sandbox Code Playgroud)
注意:必须使用jextract工具处理系统核心转储文件,并且必须将输出发送给IBM支持.来自遇到此问题的同一JVM的jextract应该用于处理系统核心转储:
<JAVA_HOME>/jre/bin/jextract <dumpfile>
Run Code Online (Sandbox Code Playgroud)
其中dumpfile是系统核心转储的文件名.
这将生成一个zip文件.zip.需要将zip文件发送给IBM支持人员.
| 归档时间: |
|
| 查看次数: |
69186 次 |
| 最近记录: |