页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

利用wsadmin生成javacore,heapdump文件

目录

windows:

一、生成javacore文件

...

 1、启动wsadmin.bat ,路径为:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/

      Image Added

      输入命令行: cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin

                  ./wsadmin.bat

...

     Image Added

2、输入命令  wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=<server1>,*]       

...

说明:上面中的<server1>要换成现场was服务的真实名称   

输入命令  wsadmin>$AdminControl invoke $jvm dumpThreads

...

    说明:上面中的<server1>要换成现场was服务的真实名称   

    比如在服务器上对应的应用名是sever1 ,命令行输入是:set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]

     Image Added

3、输入命令  wsadmin>$AdminControl invoke $jvm dumpThreads

      Image Added

        4、安装目录D:\IBM\WebSphere\AppServer\profiles\AppSrv01下生成javacore文件(例:javacore.20090804.111947.2632.txt)

              Image Added

        5、获取到javacore文件发回分析。

        6、如何解析这个Javacore文件?

             用javacore文件分析器对javacore文件进行分析

             cd /d javacore文件分析器放置路径>java -Xmx1000m -jar jca31.jar

 

二、生成heapdump文件

       注:具体步骤和生成Javacore文件类似,只是在命令行有差异:

1、启动wsadmin.bat ,路径为:D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin

      输入命令行: cd D:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin

                  ./wsadmin.bat

2、输入命令  wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=<server1>,*]

     说明:上面中的<server1>要换成现场was服务的真实名称

     比如在服务器上对应的应用名是server1 ,命令行输入是:set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]

3、输入命令  wsadmin> $AdminControl invoke $objectName generateHeapDump

     Image Added

4、安装目录D:\IBM\WebSphere\AppServer\profiles\AppSrv01下生成HeapDump文件(例 : heapdump.20170719.141911.10952.0003.phd)

     Image Added

5、将获取都到的heapdump文件发回分析即可。

6、如何分析heapdump文件?

     用heapdump文件分析器对heapdump文件进行分析

     cd /d heapdump文件分析器放置路径>java -Xmx1000m -jar ha33.jar

 

三、GC日志

在Websphere 中,如果想让GC服务器自动GC,可以做如下设置:

在Websphere的控制台,server-->server1--->Java and Process Management --->Process definition-->Java Virtual Machine,

在这个页面把 “Verbose garbage collection ” 勾上,

然后,在“Generic JVM arguments”那里添加如下参数:-verbose:gc -XX:+PrintGCDetails -Xverbosegclog:gc.log,

GC日志就会自动生成在你的server1 目录下了,可以通过一些工具来分析Websphere服务器的GC情况了。

Linux

一、生成javacore文件

      1、启动wsadmin.sh,路径为:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/wsadmin.sh

   Image Added

输入命令行: cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin

                      ./wsadmin.sh

注:输入命令行 ./wsadmin.sh 后,需要输入WebSphere控制台的用户名和密码。

    Image Added

 

2、输入命令  wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=<server1>,*]  

     说明:上面中的<server1>要换成现场was服务的真实名称   

     比如在服务器上对应的应用名是sever1 ,命令行输入是:set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]

    Image Added

3、输入命令  wsadmin>$AdminControl invoke $jvm dumpThreads

    Image Added

4、获取生成的javacore文件路径为:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01下生成javacore文件(例:javacore.20090804.111947.2632.txt)

用javacore文件分析器对javacore文件进行分析

...

    Image Added

5、将javacore文件发回分析即可。

6、如何分析Javacore文件?

     用javacore文件分析器对javacore文件进行分析

     cd /d javacore文件分析器放置路径>java -Xmx1000m -jar jca31.jar

 

注:若通过以上方法无法生成javacore文件,可通过以下两行命令生成:

[root@smartbiserver20 ~]# ps -ef|grep websphere

...

找到需要打印线程的WebSphere线程号:

  Image Added

[root@smartbiserver20 ~]# kill -3

...

 

二、生成heapdump文件

安装目录WebSphere\AppServer\bin\wsadmin.bat

...

 13083

          Image Added

        获取文件路径:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01

         Image Added

二、生成heapdump文件

      方法一:

      注:具体步骤和Javacore文件生成差不多,只是差别在于命令:

       1、 启动wsadmin.sh,路径为:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin/wsadmin.sh

     输入命令行: cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/bin

                      ./wsadmin.sh

     注:输入命令行 ./wsadmin.sh 后,需要输入WebSphere控制台的用户名和密码

2、输入命令  wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=<server1>,*]

说明:上面中的<server1>要换成现场was服务的真实名称

 输入命令  wsadmin> $AdminControl invoke $objectName generateHeapDump

...

    说明:上面中的<server1>要换成现场was服务的真实名称

    比如在服务器上对应的应用名是sever1 ,命令行输入是:set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]

3、 输入命令  wsadmin>$AdminControl invoke $objectName generateHeapDump

      注:如果复制命令不行,请手动输入命令行。

      Image Added

4、安装目录 /opt/IBM/WebSphere/AppServer/profiles/AppSrv01 下生成HeapDump文件(例:heapdump.

...

20170719.100404.

...

16398.

...

0097.phd)

...

用heapdump文件分析器对heapdump文件进行分析

    Image Added

5、将heapdump文件发回分析即可。

6、如何对heapdump文件进行分析?

     用heapdump文件分析器对heapdump文件进行分析

     cd /d heapdump文件分析器放置路径>java -Xmx1000m -jar ha33.jar

方法二:


        说明:WebSphere出现无响应的时cpu使用率为0,并会自动重启,导致无法通过“方法一”获取heapdump信息。可提前在WebSphere控制台上增加以下参数并重启服务器,这样下次进行生成Javacore文件时,会自动同时生成heapdump信息:

    

...

   步骤:在WebSphere控制台, Servers(服务器) >WebSphere Application Server > server_name(如:server1) > Java和进程管理  > Process Definition (进程定义)> Environment Entries(环境条目) > New(新建
 增加以下信息

 

名称
IBM_HEAPDUMPtrue
IBM_HEAP_DUMPtrue
IBM_HEAPDUMPDIRyour_directory
IBM_HEAPDUMP_OUTOFMEMORYtrue
 IBM_JAVADUMP_OUTOFMEMORY true

 

注:其中第三条参数是为了指定生成heapdump文件的路径,可不填写,这样就会默认生成在和javacore文件相同的路径下。
Image Added
Image Added
当进行生成Javacore后,就会同时生成heapdump文件。
Image Added

 

三、GC日志

在Websphere 中,如果想让GC服务器自动GC,可以做如下设置:

在Websphere的控制台,server-->server1--->Java and Process Management --->Process definition-->Java Virtual Machine,

在这个页面把 “Verbose garbage collection ” 勾上,

然后,在“Generic JVM arguments”那里添加如下参数:-verbose:gc -XX:+PrintGCDetails -Xverbosegclog:gc.log,

GC日志就会自动生成在你的server1 目录下了,可以通过一些工具来分析Websphere服务器的GC情况了。