Websphere怎么产生javacore文件和heapdump文件

我的was环境之linux,因为系统如果内存溢出菜产生的话,文件太大,根本没法分析,请问我怎么手动生产javacore和heapdump文件?
参与7

6 同行回答

liyuheng liyuheng 软件开发工程师 永兴科技
懂了,谢谢。显示全部
懂了,谢谢。 收起
软件开发 · 2013-12-04
浏览1148
Luga Lee Luga Lee 联盟成员 系统架构师 None
这个问题论坛里面就有很多案例的,建议楼主好好找找显示全部
这个问题论坛里面就有很多案例的,建议楼主好好找找 收起
互联网服务 · 2013-11-28
浏览1176
star120120 star120120 技术支持 DC
1. WebSphere 生成javacore1.1 AIXWebSphere 在AIX下生成javacore相对来说办法很多。1.1.1 使用Kill命令1、使用ps命令查找到Websphere运行进程的进程ID2、执行kill -3 -id,则会在该进程对应的profiles下面,产生javacore和heapldump1.1.2 调用程序IBM 的JDK提供了接口,通过...显示全部
1. WebSphere 生成javacore
1.1 AIX
WebSphere 在AIX下生成javacore相对来说办法很多。

1.1.1 使用Kill命令
1、使用ps命令查找到Websphere运行进程的进程ID
2、执行kill -3 -id,则会在该进程对应的profiles下面,产生javacore和heapldump

1.1.2 调用程序
IBM 的JDK提供了接口,通过调用这个接口,可以直接生成JavaCore以及 HeapDump。
生成JavaCore:
调用JSP文件,jsp中只有一行语句,如下所示
<%
com.ibm.jvm.Dump.JavaDump();
%>

生成HeapDump
调用JSP文件,jsp中只有一行语句,如下所示
<%
com.ibm.jvm.Dump.HeapDump();
%>



1.1.3 使用控制台命令
进入wsadmin

X:\WebSphere\AppServer\profiles\profileXX\bin>wsadmin -user wasadmin -password password

设置jvm环境变量

wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]

生成javacore文件

wsadmin>$AdminControl invoke $jvm dumpThreads

找到JVM对象名字

set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]

生成heapdump文件

$AdminControl invoke $objectName generateHeapDump

1.2 Windows
在Windows 下,生成JavaCore与HeapDump的方式,与在AIX下生成的方式基本类似。
1.2.1 使用Ctrl+Break
如果WebSphere是在命令行窗口启动,有启动命令行窗口,那么可以通过在命令行窗口中使用Ctrl+Break键,产生JavaCore和HeapDump。这种方式,与AIX下使用ps命令类似
1.2.2 调用程序
IBM 的JDK提供了接口,通过调用这个接口,可以直接生成JavaCore以及 HeapDump。
生成JavaCore:
调用JSP文件,jsp中只有一行语句,如下所示
<%
com.ibm.jvm.Dump.JavaDump();
%>

生成HeapDump
调用JSP文件,jsp中只有一行语句,如下所示
<%
com.ibm.jvm.Dump.HeapDump();
%> 收起
IT分销/经销 · 2013-11-28
浏览1252
abel abel 软件架构设计师 IBM
WAS8在控制台可以直接去选择某个server产生javacore,heapdump和system dump显示全部
WAS8在控制台可以直接去选择某个server产生javacore,heapdump和system dump 收起
软件开发 · 2013-11-28
浏览1229
hu198499 hu198499 软件开发工程师 数据中心(北京)
论坛里有websphere性能调优之dump命令,javacore还可以用kill -3 pid显示全部
论坛里有websphere性能调优之dump命令,javacore还可以用kill -3 pid 收起
互联网服务 · 2013-11-28
浏览1212
Batcher Batcher 软件开发工程师 HP
javacore:kill -3 java进程的pidheapdump:cd /opt/IBM/WebSphere/AppServer/bin/ ./wsadmin.sh -lang jython -user wasadmin -password wasadmin ojbServer = AdminControl.queryNames("WebSphere:type=JVM,process=SampleServer1,node=PrdNode01,*") AdminControl.invoke(...显示全部
javacore:
kill -3 java进程的pid
heapdump:
cd /opt/IBM/WebSphere/AppServer/bin/
./wsadmin.sh -lang jython -user wasadmin -password wasadmin
ojbServer = AdminControl.queryNames("WebSphere:type=JVM,process=SampleServer1,node=PrdNode01,*")
AdminControl.invoke(ojbServer, "generateHeapDump")
收起
互联网服务 · 2013-11-28
浏览1212

提问者

liyuheng
软件开发工程师 永兴科技
擅长领域: 应用服务器服务器WAS
评论129

相关问题

问题状态

  • 发布时间:2013-11-28
  • 关注会员:1 人
  • 问题浏览:4500
  • 最近回答:2013-12-04
  • X社区推广