﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Thinking in java &lt;p&gt;&lt;font color='#DF7401'&gt;学海无涯乐作舟&lt;/font&gt;&lt;/p&gt;-文章分类-WAS</title><link>http://www.blogjava.net/wuynng/category/43374.html</link><description /><language>zh-cn</language><lastBuildDate>Mon, 04 Jan 2010 14:05:47 GMT</lastBuildDate><pubDate>Mon, 04 Jan 2010 14:05:47 GMT</pubDate><ttl>60</ttl><item><title>如何生成WAS的Heap dump文件</title><link>http://www.blogjava.net/wuynng/articles/308059.html</link><dc:creator>wuyanhong</dc:creator><author>wuyanhong</author><pubDate>Sat, 02 Jan 2010 16:24:00 GMT</pubDate><guid>http://www.blogjava.net/wuynng/articles/308059.html</guid><wfw:comment>http://www.blogjava.net/wuynng/comments/308059.html</wfw:comment><comments>http://www.blogjava.net/wuynng/articles/308059.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wuynng/comments/commentRss/308059.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wuynng/services/trackbacks/308059.html</trackback:ping><description><![CDATA[<h3><a name="N101D8"><span class="atitle">生成Heap dump文件</span></a></h3>
<p>WAS6.1中，在使用IBM JDK的平台上，可以直接使用以下的方法，随时生成所需的heapdump文件。如果在性能诊断顾问程序配置里面选中了"启用自动堆转储收集，则可以自动在WebSphere profile所在的路径下（例如/opt/IBM/WebSphere/WAS6.1/profiles/AppSrv01）生成heapdump文件，备用户进行分析。</p>
<p>在使用IBM SDK的平台上，例如AIX, Linux和Windows，在启用了性能诊断顾问工具后，如果探测到有内存泄漏发生，WebSphere会自动生成两个heapdump文件，供后续分析使用。</p>
<p>我们在任何时候，可以随时手动生成所需的heap dump文件。在WAS6.1 profile的bin目录下，首先运行wsadmin 脚本客户端，然后可以调用generateHeapDump操作来完成。</p>
<p>关键步骤：</p>
<p>1． 找到JVM对象名字。</p>
<table id="table21" cellspacing="0" cellpadding="0" width="81%" border="0">
    <tbody>
        <tr>
            <td class="code-outline" bgcolor="#f9f9f9">
            <pre class="content">&lt;wsadmin&gt; set objectName
            WebSphere:type=JVM,process=&lt;WebSphere服务器名字&gt;,node=&lt;节点名字&gt;,*]</pre>
            </td>
        </tr>
    </tbody>
</table>
<p>2． 对JVM MBean调用generateHeapDump操作。</p>
<table id="table22" cellspacing="0" cellpadding="0" width="81%" border="0">
    <tbody>
        <tr>
            <td class="code-outline" bgcolor="#f9f9f9">
            <pre class="content">&lt;wsadmin&gt; $AdminControl invoke $objectName generateHeapDump</pre>
            </td>
        </tr>
    </tbody>
</table>
<br />
例如：
<table class="content" id="table23" cellspacing="0" cellpadding="0" width="81%" border="0">
    <tbody>
        <tr>
            <td class="code-outline" bgcolor="#f9f9f9">
            <pre class="content">[root@csspvm bin]# pwd
            /opt/IBM/WebSphere/WAS6.1/profiles/AppSrv01/bin
            [root@csspvm bin]# ./wsadmin.sh -username root -password demo4you
            WASX7209I: Connected to process "server1" on node csspvmNode02 using SOAP
            connector;  The type of process is: UnManagedProcess
            WASX8011W: AdminTask object is not available.
            WASX7029I: For help, enter: "$Help help"
            wsadmin&gt;set objectName [$AdminControl queryNames
            WebSphere:type=JVM,process=server1, node=csspvmNode02,*]
            WebSphere:name=JVM,process=server1,platform=proxy,node=csspvmNode02,
            j2eeType=JVM,J2EEServer=server1,
            version=6.1.0.0,type=JVM,mbeanIdentifier=JVM,cell=csspvmNode02Cell,spec=1.0
            wsadmin&gt;$AdminControl invoke $ objectName generateHeapDump
            /opt/IBM/WebSphere/WAS6.1/profiles/AppSrv01/./heapdump.20060904.075650.3576.phd
            wsadmin&gt;quit</pre>
            </td>
        </tr>
    </tbody>
</table>
<p>理想情况下，在探测到问题时，尽快生成一个初始的heap dump，然后密切监控内存使用情况，等到泄漏了足够的内存的时候，再生成另外一个heap dump，这样可以对比分析以更准确地找到泄漏的原因。</p>
<p>注： 生成HeapDump文件的过程是比较耗资源的，所以请只在必须的时候做这样的操作。</p>
<img src ="http://www.blogjava.net/wuynng/aggbug/308059.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wuynng/" target="_blank">wuyanhong</a> 2010-01-03 00:24 <a href="http://www.blogjava.net/wuynng/articles/308059.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>链接：WebSphere Application Server之wsadmin学习(一) </title><link>http://www.blogjava.net/wuynng/articles/308058.html</link><dc:creator>wuyanhong</dc:creator><author>wuyanhong</author><pubDate>Sat, 02 Jan 2010 15:58:00 GMT</pubDate><guid>http://www.blogjava.net/wuynng/articles/308058.html</guid><wfw:comment>http://www.blogjava.net/wuynng/comments/308058.html</wfw:comment><comments>http://www.blogjava.net/wuynng/articles/308058.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wuynng/comments/commentRss/308058.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wuynng/services/trackbacks/308058.html</trackback:ping><description><![CDATA[<a title="WebSphere Application Server之wsadmin学习(一) " href="http://www.blogjava.net/fastzch/archive/2008/09/18/229797.html">http://www.blogjava.net/fastzch/archive/2008/09/18/229797.html</a>
  <img src ="http://www.blogjava.net/wuynng/aggbug/308058.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wuynng/" target="_blank">wuyanhong</a> 2010-01-02 23:58 <a href="http://www.blogjava.net/wuynng/articles/308058.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>