ITPub博客

首页 > Linux操作系统 > Linux操作系统 > websphere crash 诊断指南

websphere crash 诊断指南

原创 Linux操作系统 作者:hxmflying 时间:2009-08-06 16:02:38 0 删除 编辑
内容出自官网:
http://www-01.ibm.com/support/docview.wss?rs=688&uid=swg21244312
  
           需收集的分析数据:
           
            MustGather files
            SystemErr*.log
            SystemOut*.log
            native_stderr.log
            native_stdout.log
            trace*.log
            wps_date_time.log
            recent javacores from directory or
            recent files from directory /logs/ffdc or /logs/ffdc
          
  情况一:was crash时,无javacore产生

         
            多数是应为 JVM可能hung住,崩溃时,来不及写javacore。
            则需将SDK升级到最新版本。

  情况二:was crash时,有javacore产生

            1)检查javacore生产的原因
           
            "signals 1, 0, OUTOFMEMORY, and SIGNONE "大多数与内存问题有关;
            "signal 11 (SIGSEGV) "表明应用服务器崩溃.
            "signal 3 "表明是手工做的javacore。
           
            The javacore signal appears in this section:
            NULL           ------------------------------------------------
            0SECTION       TITLE subcomponent dump routine
            NULL           ===============================
            1TISIGINFO     OUTOFMEMORY received
            1TIDATETIME    Date:                 2006/07/25 at 10:01:56
            1TIFILENAME    Javacore filename:    /data/work/javacore450680.1153839716.txt
            NULL           ------------------------------------------------
           
            or
           
            NULL           ------------------------------------------------
            0SECTION       TITLE subcomponent dump routine
            NULL           ===============================
            1TISIGINFO     signal 11 received
            1TIDATETIME    Date:                 2006/07/28 at 11:02:35
            1TIFILENAME    Javacore filename:    /coredump/javacore336050.1154077355.txt
            NULL           ------------------------------------------------
           
            2)检查Java SDK的版本
           
            一般版本信息是以"1XHFULLVERSION"或"1CJAVAVERSION"开头的。
           
            eg:
            1XHFULLVERSION J2RE 1.4.2 IBM AIX build ca1420-20040626
            or
            1CIJAVAVERSION J2RE 1.4.2 IBM Windows 32 build cn142-20041202
           
            3).在javacore中查找崩溃原因
           
            通常是以"1XHSIGRECV"或"Fault Module"开头,后面跟原因。
            与JVM和JIT模块有关的故障的入口:
            ----------------------
            - The JVM Modules
            Windows: JVM.dll
            AIX: libjvm.a
            Linux: libjvm.so
            -----------------------
            - The Just In Time (JIT) Modules
            Windows: JITC.dll
            AIX: libjitc.a
            Linux: libjitc.so
            -----------------------
            例如:
           
            The 1XHSIGRECV and "Fault Module" entry will look like:
            0SECTION       XHPI subcomponent dump routine
            NULL           ==============================
            1XHTIME        Fri Jul 28 11:02:35 2006
            1XHSIGRECV     SIGSEGV received at 0xd15e58f0 in /java/jre/bin/libjitc.a. Processing terminated.
           
            or
           
            0SECTION XHPI subcomponent dump routine
            NULL ==============================
            1XHEXCPCODE Exception code: C0000005 Access Violation
            1XHEXCPADDRESS Fault address: 100D15B0 01:000D05B0
            1XHEXCPMODULE Fault module: \jre\bin\classic\jvm.dll
           
            解决办法与情况一相同,升级SDK到最新版本。

            4).如果是因为JIT模块引起的crash,但又因为某些原因,不愿意升级SDK,可以用"跳过一方法"来解决。
           
            a.在javacore中搜索"Current Thread",找到当前引起崩溃的线程,如下:
           
            1XMCURTHDINFO Current Thread Details
            NULL ----------------------
            3XMTHREADINFO "Servlet.Engine.Transports : 2" (TID:0x10759F18, sys_thread_t:0x39CCF340, state:R, native ID:0x8F4) prio=5
            4XESTACKTRACE at
 com.ibm.workplace.wcm.app.ui.portlet.widget.HTMLPopupMenuButtonRenderer.render (Unknown Source)
           4XESTACKTRACE at           com.ibm.workplace.wcm.app.ui.portlet.widget.HTMLPopupMenuButtonRenderer.render(Unknown Source)
            4XESTACKTRACE at
 com.ibm.psw.wcl.core.ARendererFactory.performRender(ARendererFactory.java(Compiled Code))
           
            其中:         com.ibm.workplace.wcm.app.ui.portlet.widget.HTMLPopupMenuButtonRenderer.render
           
            引起crash。为了跳过JIT编译,避免crash, 加上以下JVM命令行选项:
           
            JITC_COMPILEOPT=COMPILING:SKIP{   com/ibm/workplace/wcm/app/ui/portlet/widget/renderer/HTMLPopupMenuButtonRenderer}{render}
           
            注意:它必须在一行,并且没有空格,你可以用*代替在相同package或class中不同的methods。在Windows中JITC_COMPILEOPT的选项用分号隔开,在Unix中则用冒号。

            5).当然你也可以禁用JIT,这也是以前,比较简单的解决方法,但是同时带来的性能下降,要考虑是否能接受。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14019112/viewspace-611504/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-04-29

  • 博文量
    23
  • 访问量
    69702