如何生成javacore和heapdump

转载 2012年12月04日 14:26:00


-----成功生成:
如何生成javacore和heapdump
进入wsadmin
  D:\IBM\WebSphere\AppServer\bin>wsadmin -user wasadmin -password password
生成javacore
设置jvm环境变量:
  wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
生成javacore文件:
  wsadmin>$AdminControl invoke $jvm dumpThreads
生成heapdump
找到JVM对象名字:
  wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]
生成heapdump文件:
  wsadmin>$AdminControl invoke $objectName generateHeapDump

 

 

生成javacore和heapdump例子:
D:\IBM\AppServer\profiles\AppSrv01\bin>wsadmin.bat
  WASX7209I: 使用 SOAP 连接器连接到节点 javavagNode01 上的进程“server1”;进程的
 类型为:UnManagedProcess
 WASX7029I: 要获取帮助,请输入:“$Help help”
wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
   WebSphere:name=JVM,process=server1,platform=proxy,node=javavagNode01,j2eeType=JV
   M,J2EEServer=server1,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,
   cell=javavagN   ode01Cell,spec=1.0

wsadmin>$AdminControl invoke $jvm dumpThreads
   生成的javacore位置为:
   D:\IBM\AppServer\profiles\AppSrv01\javacore.20090410.153958.3564.txt


wsadmin>$AdminControl invoke $objectName generateHeapDump

 

生成javacore和heapdump例子:
D:\IBM\AppServer\profiles\AppSrv01\bin>wsadmin.bat
  WASX7209I: 使用 SOAP 连接器连接到节点 javavagNode01 上的进程“server1”;进程的
 类型为:UnManagedProcess
 WASX7029I: 要获取帮助,请输入:“$Help help”
wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
   WebSphere:name=JVM,process=server1,platform=proxy,node=javavagNode01,j2eeType=JV
   M,J2EEServer=server1,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,
   cell=javavagN   ode01Cell,spec=1.0

wsadmin>$AdminControl invoke $jvm dumpThreads
   生成的javacore位置为:
   D:\IBM\AppServer\profiles\AppSrv01\javacore.20090410.153958.3564.txt

wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=server1,*]
    WebSphere:name=JVM,process=server1,platform=proxy,node=javavagNode01,j2eeType=JVM,
    J2EEServer=server1,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=javavagNode01Cell,spec=1.0
wsadmin>$AdminControl invoke $objectName generateHeapDump
wsadmin>
生成的Heapdump文件位置为:
D:\IBM\AppServer\profiles\AppSrv01\heapdump.20090410.154059.3564.phd


set jvm [$AdminControl completeObjectName type=JVM,process=ncMem01,*]
$AdminControl invoke $jvm dumpThreads
set objectName [$AdminControl queryNames WebSphere:type=JVM,process=ncMem01,*]
$AdminControl invoke $objectName generateHeapDump


set jvm [$AdminControl completeObjectName type=JVM,process=master,*]
$AdminControl invoke $jvm dumpThreads
set objectName [$AdminControl queryNames WebSphere:type=JVM,process=master,*]
$AdminControl invoke $objectName generateHeapDump

 

set jvm [$AdminControl completeObjectName type=JVM,process=ncMem02,*]
$AdminControl invoke $jvm dumpThreads
set objectName [$AdminControl queryNames WebSphere:type=JVM,process=ncMem02,*]
$AdminControl invoke $objectName generateHeapDump


set jvm [$AdminControl completeObjectName type=JVM,process=ncMem03,*]
$AdminControl invoke $jvm dumpThreads
set objectName [$AdminControl queryNames WebSphere:type=JVM,process=ncMem03,*]
$AdminControl invoke $objectName generateHeapDump


was内存监控
查看内存使用情况方法:
sysMonitor.bat 设置端口号,然后进行查看内存使用状态。

如何生成javacore和heapdump
进入wsadmin
  D:\IBM\WebSphere\AppServer\bin>wsadmin -user was -password ytoadmin@2011
生成javacore
设置jvm环境变量:
  wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]
生成javacore文件:
  wsadmin>$AdminControl invoke $jvm dumpThreads
生成heapdump
找到JVM对象名字:
  wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=ncMem01,*]
生成heapdump文件:
  wsadmin>$AdminControl invoke $objectName generateHeapDump

 

 

 

 


如果启用了安全,则需要输入用户名和密码:

 


[root@hrapp bin]# pwd
/opt/IBM/WebSphere/AppServer/bin
[root@hrapp bin]# ./set jvm [$AdminControl completeObjectName type=JVM,process=ncMem01,*]
-bash: ./set: 没有那个文件或目录
[root@hrapp bin]# ./wsadmin.sh
WASX7246E: 因为认证失败无法建立到主机“localhost”的“SOAP”连接。确保命令行上或属性文件中的用户和密码是正确的。
异常消息(如有):“ADMN0022E: 由于凭证不足或凭证为空,无法对 Server MBean 的 getProcessType 操作进行访问。”
WASX7213I: 此脚本编制客户机未连接到服务器进程;请参阅日志文件 /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/logs/wsadmin.traceout 以获取更多信息。
WASX8011W: AdminTask 对象不可用。
[root@hrapp bin]# ./wsadmin.sh   -user   admin    -password     ytoadmin@2011
WASX7209I: 使用 SOAP 连接器连接到节点 hrappCellManager01 上的进程“dmgr”;进程的类型为:DeploymentManager
WASX7029I: 要获取帮助,请输入:“$Help help”
wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=ncMem01,*]
WebSphere:name=JVM,process=ncMem01,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=ncMem01,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $jvm dumpThreads

wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=ncMem01,*]
WebSphere:name=JVM,process=ncMem01,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=ncMem01,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $objectName generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20110408.015156.31480.phd
wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=master,*]
WebSphere:name=JVM,process=master,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=master,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $jvm dumpThreads

wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=master,*]
WebSphere:name=JVM,process=master,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=master,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $objectName generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20110408.015504.31213.phd
wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=ncMem02,*]
WebSphere:name=JVM,process=ncMem02,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=ncMem02,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $jvm dumpThreads

wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=ncMem02,*]
WebSphere:name=JVM,process=ncMem02,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=ncMem02,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $objectName generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20110408.015625.31779.phd
wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=ncMem03,*]
WebSphere:name=JVM,process=ncMem03,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=ncMem03,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $jvm dumpThreads

wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=ncMem03,*]
WebSphere:name=JVM,process=ncMem03,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=ncMem03,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $objectName generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20110408.015728.32051.phd
wsadmin>set jvm [$AdminControl completeObjectName type=JVM,process=ncMem03,*]
WebSphere:name=JVM,process=ncMem03,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=ncMem03,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $jvm dumpThreads

wsadmin>set objectName [$AdminControl queryNames WebSphere:type=JVM,process=ncMem03,*]
WebSphere:name=JVM,process=ncMem03,platform=proxy,node=hrappNode01,j2eeType=JVM,J2EEServer=ncMem03,version=6.1.0.11,type=JVM,mbeanIdentifier=JVM,cell=hrappCell01,spec=1.0
wsadmin>$AdminControl invoke $objectName generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20110408.020032.32051.phd
wsadmin>invoke $objectName generateHeapDump
WASX7015E: 运行命令时发生异常:“invoke $objectName generateHeapDump”;异常信息:
com.ibm.bsf.BSFException: error while eval'ing Jacl expression:
invalid command name "invoke"
    while executing
"invoke $objectName generateHeapDump"
wsadmin>$AdminControl invoke $objectName generateHeapDump
/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/./heapdump.20110408.020148.32051.phd
wsadmin>

JAVACORE与HEAPDUMP生成大法

JavaCore文件主要保存的是Java应用各线程在某一时刻的运行的位置,即JVM执行到哪一个类、哪一个方法、哪一个行上。 它是一个文本文件,打开后可以看到每一个线程的执行栈,以stack tr...
  • zfr629
  • zfr629
  • 2016年11月01日 10:52
  • 2820

如何产生javacore和heapdump文件

1.  windows & Linux:          修改运行脚本的javaw 到java,并且添加参数-XX:+HeapDumpOnCtrlBreak。 运行程序后,按ctrl+brea...
  • guomei
  • guomei
  • 2015年06月28日 23:28
  • 3569

如何手动生成heapdump和javacore文件

一、生成javacore文件 安装目录WebSphere\AppServer\bin\wsadmin.bat输入命令  wsadmin>set jvm [$AdminControl complete...
  • sunwstorm
  • sunwstorm
  • 2015年08月12日 20:19
  • 2618

jvm 生成javacore和heapdump文件

(1)如果使用Oracle JVM也就是标准的SUN JVM(SUN已被oracle收购) 当内存溢出时生成heapdump文件配置如下 -Xloggc:${目录}/temp_gc.log    ...
  • wanglha
  • wanglha
  • 2015年06月25日 09:47
  • 2246

JVM性能调优之生成堆的dump文件

最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录。 一、JVM内存模型及垃圾收集算法  1.根据Java虚拟机规范,JVM将内存划分为: New(年轻代)T...
  • lifuxiangcaohui
  • lifuxiangcaohui
  • 2014年07月20日 15:25
  • 43754

JVM javacore 和 heapdump 文件生成选项

一、标准的SUN/Oracle JVM 当内存溢出时生成heapdump文件配置如下 -Xloggc:${目录}/temp_gc.log           (GC日志文件) -XX:+He...
  • walkwolf
  • walkwolf
  • 2013年12月20日 12:18
  • 2374

IBM WebSphere Javacore分析

今天公司的服务器宕机了,抛出很多的javacore 文件,这个文件比较好分析,下面我们讲一下什么是javacore ,以及如何通过分析javaCore文件找出问题。 参考 http://zhan...
  • happyqwz
  • happyqwz
  • 2012年11月27日 17:19
  • 13484

websphere如何产生javacore和heapdump

在生产环境中一旦有内存溢出情况发生,系统会自动生成javacore和heapdump文件,但是有时候我们为解决cpu使用率较高或其它问题时,需要手工生成javacore和heapdump文件,这时我们...
  • inaoen
  • inaoen
  • 2015年06月26日 10:18
  • 1111

1.如何产生javacore和heapdump文件

1.  windows & Linux:          修改运行脚本的javaw 到java,并且添加参数-XX:+HeapDumpOnCtrlBreak。 运行程序后,按ctrl+brea...
  • lidaweihgy
  • lidaweihgy
  • 2012年12月24日 16:42
  • 522

jvm 生成javacore和heapdump文件

jvm 生成javacore和heapdump文件   (1)如果使用Oracle JVM也就是标准的SUN JVM(SUN已被oracle收购) 当内存溢出时生成heapdump文件配置如...
  • meetwaityou
  • meetwaityou
  • 2015年01月27日 16:49
  • 1605
收藏助手
不良信息举报
您举报文章:如何生成javacore和heapdump
举报原因:
原因补充:

(最多只允许输入30个字)