在每個(gè)專(zhuān)欄中,支持權(quán)威將討論 IBM Technical Support 的可用于 WebSphere 產(chǎn)品的資源、工具和其他元素,以及一些可以進(jìn)一步增強(qiáng)您的 IBM 支持體驗(yàn)的技術(shù)和新思想。
最新快報(bào)
按照慣例,我們將首先提供關(guān)于整個(gè) WebSphere® 社區(qū)的一些重要新聞:
- IBM Support Assistant 的 4.0.1 版 剛剛發(fā)布。部分主要增強(qiáng)功能包括代理服務(wù)器的自動(dòng)配置、改進(jìn)的導(dǎo)航,以及一個(gè)重要的新工具:Media Viewer,此工具使得從諸如 IBM Education Assistant 等來(lái)源下載豐富的內(nèi)容并在 IBM Support Assistant 中在線或離線查看該內(nèi)容變得非常容易。
- IBM Support Assistant Version 4 中發(fā)布或更新了幾個(gè)新工具,包括:
- Assist On Site
- IBM Thread and Monitor Dump Analyzer
- IBM Monitoring and Diagnostic Tools for Java™ - Dump Analyzer 的新版本
- 對(duì) Memory Dump Diagnostic for Java (MDD4J) 的新更新;此更新仍處于測(cè)試版本階段,但是我們正在向公開(kāi)發(fā)布版邁進(jìn)。
- Visual Configuration Explorer (VCE) 的新更新。
通過(guò)這些更新,要從 IBM Support Assistant Version 3 移植到 Version 4 的所有問(wèn)題確定工具都已完成了轉(zhuǎn)換。
- IBM Guided Activity Assistant 團(tuán)隊(duì)繼續(xù)擴(kuò)展此工具所提供的內(nèi)容:
- 最初于上月在 IBM Guided Activity Assistant 的 alphaWorks 版本中宣布推出的用于 JVM 問(wèn)題確定(掛起、崩潰、內(nèi)存耗盡等等)的增強(qiáng)內(nèi)容現(xiàn)在也在 IBM Support Assistant 上可用。
- 用于 WebSphere Process Server 中的問(wèn)題確定的新內(nèi)容將于本月在 IBM Support Assistant 上的 IBM Guided Activity Assistant 中首次露面。
- 對(duì) IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer (GCMV) 和 IBM Thread and Monitor Dump Analyzer (TMDA) 工具使用指導(dǎo)的若干更新。
- 還發(fā)布了對(duì) alphaWorks 中的幾個(gè)工具的更新,包括:
- Database Connection Pool Analyzer for IBM WebSphere Application Server
- IBM Thread and Monitor Dump Analyzer(也在 IBM Support Assistant 中可用)
- IBM Pattern Modeling and Analysis Tool for Java Garbage Collector(也在 IBM Support Assistant 中可用)。
- 對(duì)于感興趣的讀者,WebSphere Application Server V7.0 公開(kāi)測(cè)試計(jì)劃正在全力進(jìn)行中。訪問(wèn)此站點(diǎn)以了解有關(guān)下一個(gè)版本的 WebSphere Application Server 的新聞和信息。
- 我們?cè)谝郧暗膸灼恼轮型扑]過(guò)的 WebSphere Support Technical Exchange 系列正在對(duì)新的“Open Mic”形式進(jìn)行試驗(yàn),在這種形式中,某個(gè)特定技術(shù)領(lǐng)域的公認(rèn)專(zhuān)家將接受問(wèn)題并主持與受眾進(jìn)行的討論,而不是主要集中于已準(zhǔn)備好的演示文稿。這種新形式的第一期暫定于 8 月 7 日進(jìn)行,屆時(shí)還將有關(guān)于 WebSphere Application Server 安全性的研討會(huì)。請(qǐng)回訪 WebSphere Support Technical Exchange 網(wǎng)站以了解更新和更多的研討會(huì)。
- 我們以前曾在本專(zhuān)欄中提到過(guò)知識(shí)集錦(在 IBM Support 網(wǎng)站上創(chuàng)建相關(guān)文檔的集合)和特色文檔(收集用于每個(gè)單獨(dú) IBM 產(chǎn)品中的支持的最常見(jiàn)信息)。將這兩個(gè)概念相結(jié)合,現(xiàn)在可以使用新的知識(shí)集錦,從而使得完全在單個(gè)位置查找許多 WebSphere 產(chǎn)品的所有可用特色文檔頁(yè)面變得非常容易。
- 本專(zhuān)欄的熱心讀者可能對(duì)紅皮書(shū) Running IBM WebSphere Application Server on System p and AIX Optimization and Best Practices 非常感興趣,該紅皮書(shū)目前以公共草案的形式提供。
繼續(xù)關(guān)注與支持相關(guān)的各個(gè)網(wǎng)站以及本專(zhuān)欄,以獲得有關(guān)我們所碰到的其他工具的新聞。
接下來(lái)讓我們繼續(xù)今天的主題……
“再多一個(gè)工具我就要尖叫了”
我們?cè)谂c WebSphere 產(chǎn)品用戶進(jìn)行有關(guān)問(wèn)題確定的交談時(shí),遇到的一個(gè)常見(jiàn)問(wèn)題是“我現(xiàn)在應(yīng)該使用哪個(gè)工具?”本專(zhuān)欄自從開(kāi)始以來(lái),已描述了如何以及何時(shí)使用許多問(wèn)題確定工具,但是如果像這樣一次一個(gè)地介紹工具,跟蹤每個(gè)可用的工具將會(huì)充滿了挑戰(zhàn),要確定哪個(gè)工具最適合于任何給定的情形就更不用說(shuō)了。由于更廣大的 IBM WebSphere Support 社區(qū)是相當(dāng)動(dòng)態(tài)的工具開(kāi)發(fā)人員社區(qū)這一事實(shí),問(wèn)題變得進(jìn)一步復(fù)雜化,這意味著可用的工具集始終變化不定,針對(duì)相似的問(wèn)題,某一天使用的最佳工具可能在幾個(gè)月后已經(jīng)不一樣了。
我們的希望在于,本文將為您闡明某些目前可用的主要問(wèn)題確定工具。您將在下面找到簡(jiǎn)單的參考表格,其中在單個(gè)地方顯示了您在與 WebSphere Support 合作時(shí)可能遇到的最常見(jiàn)問(wèn)題確定工具,特別是有關(guān) IBM WebSphere Application Server 和 Java 虛擬機(jī)(Java Virtual Machine,JVM)的工具。這些表格并不詳盡,所提供的信息在性質(zhì)上是不完美的——因?yàn)樵诒疚陌l(fā)表之后,工具將繼續(xù)發(fā)展改進(jìn),并且不同的人將以不同的方式評(píng)價(jià)各個(gè)工具。然而,不管您最終使用的工具是什么,此信息都可作為有價(jià)值的初始參考點(diǎn)。如果您碰巧發(fā)現(xiàn)這種方法很成功,請(qǐng)告訴我們,以便我們能夠?yàn)榻窈蟮膶?zhuān)欄計(jì)劃定期的更新。
我們選擇的工具
在接觸到具體的表格之前,檢查一下我們?cè)诮M合這些信息時(shí)使用的指導(dǎo)原則是有幫助的:
- 可用性
與 IBM Support 組織直接或間接提供的大多數(shù)問(wèn)題確定資源一樣,本文專(zhuān)門(mén)集中于可從 IBM 免費(fèi)獲得的工具。這并不是說(shuō)不存在其他工具;IBM(特別是 Tivoli®)和其他軟件供應(yīng)商提供了各種收費(fèi)的問(wèn)題確定工具,您可以使用它們來(lái)調(diào)查 WebSphere 問(wèn)題。其中有些工具提供的功能遠(yuǎn)遠(yuǎn)超出了這里提到的免費(fèi)工具的范圍。然而,就本文的目的而言,以及為了確保每個(gè)人都有訪問(wèn)這些資源的同等能力,這些表格省略了商業(yè)化的工具。
- 可訪問(wèn)性
在評(píng)估問(wèn)題確定工具時(shí),IBM 將考慮所有的相關(guān)候選工具,而不管這些工具駐留在何處。不過(guò)在一般情況下,IBM Support 僅收集 IBM Support Assistant 提供的公共平臺(tái)中的獨(dú)立工具(除非存在收集其他工具的技術(shù)原因)。IBM Support Assistant 是中央存儲(chǔ)庫(kù),目前用于查找所有的工具、用于安裝和接收現(xiàn)有工具的定期更新,以及用于利用多個(gè)工具和其他問(wèn)題確定功能之間的集成潛力(例如,將工具與診斷收集和 PMR 報(bào)告功能聯(lián)系起來(lái),或者將一個(gè)工具的輸出作為輸入提供給另一個(gè)工具,等等)。
- 范圍
這里列出的工具僅限于客戶和 IBM Support 團(tuán)隊(duì)經(jīng)常用于在活動(dòng)中幫助分析問(wèn)題確定構(gòu)件的工具,而不包括收集問(wèn)題確定構(gòu)件或者指導(dǎo)或全面幫助問(wèn)題確定過(guò)程的工具。
- 用于相同用途的多個(gè)工具
隨著工具的發(fā)展和新工具的出現(xiàn),在最大限度地促進(jìn)創(chuàng)新的名義下,以及為了鼓勵(lì)許多感興趣的工具編寫(xiě)人員做出貢獻(xiàn),必定存在功能上的重疊。因此,您將發(fā)現(xiàn)這些表格中有些地方列出了用于同一個(gè)目的的多個(gè)工具。在這些情況下,將提供有關(guān)這些工具之間的重要區(qū)別的信息,以幫助您挑選最適合需要的工具。一般情況下,將會(huì)有一個(gè)工具被標(biāo)識(shí)為主要工具(用粗體字型表示),我們估計(jì)它是您在嘗試執(zhí)行特定問(wèn)題確定任務(wù)時(shí)最適合首先嘗試的工具。然而,如果您具有對(duì)另一個(gè)工具的特定特征的特殊需要,您也可以使用替代工具。一般來(lái)講,IBM Support 主要致力于對(duì)每個(gè)領(lǐng)域中指定的主要工具進(jìn)行增強(qiáng)和支持,并且隨著時(shí)間的推移,將會(huì)盡量把替代工具中有價(jià)值的新功能合并到主要工具中。
-
支持
雖然我們希望使新的工具和新的工具功能盡快可用,但這有時(shí)意味著在編寫(xiě)它們之后隨即“按原樣”使它們可用。另一方面,我們認(rèn)識(shí)到許多用戶想要并且需要可靠和可信賴(lài)的工具IBM WebSphere Support 提供的每個(gè)工具與許可協(xié)議相關(guān)聯(lián),許可協(xié)議定義了該工具是否受支持的條件。(不得將本文中的任何信息理解為覆蓋或取代任何許可協(xié)議中提供的信息。)不過(guò)在一般情況下:
- 通過(guò) IBM Support Assistant 交付但指定為技術(shù)預(yù)覽版的工具以及通過(guò) alphaWorks 交付的工具被認(rèn)為是“按原樣”提供的。如果取得了成功并得到廣泛使用,許多起初以這種方式發(fā)布的工具(雖然不一定是全部)最終將成為受支持的標(biāo)準(zhǔn)工具。這些工具一般是非常優(yōu)異的,如果沒(méi)有更好的替代工具可用,您可以非常舒適地使用它們。
- 通過(guò) IBM Support Assistant 交付并且未指定為技術(shù)預(yù)覽版的工具在其許可協(xié)議規(guī)定的條款下受到正式支持(由它們的創(chuàng)作者或 IBM WebSphere Support 提供支持)。IBM 一般為受支持的工具提供了幫助和缺陷報(bào)告。
- 問(wèn)題與功能
下面的表格主要按照它們讀取的構(gòu)件類(lèi)型進(jìn)行組織。其中也列出了可以使用每種構(gòu)建分析來(lái)確定的問(wèn)題類(lèi)型。在調(diào)查某個(gè)問(wèn)題時(shí)決定如何進(jìn)行的時(shí)候,務(wù)必記住這一點(diǎn)。當(dāng)您需要快速參考的時(shí)候,這種以構(gòu)件為中心的視圖通常非常有用;例如,您面對(duì)某種特定類(lèi)型的日志或轉(zhuǎn)儲(chǔ)文件,并且您需要快速查找某個(gè)可用于分析該文件的工具。然而,以前的“權(quán)威支持”專(zhuān)欄用事實(shí)證明,要提高效率,問(wèn)題確定過(guò)程應(yīng)該遵循定義良好的計(jì)劃,該計(jì)劃基于問(wèn)題癥狀及其可能的根源,并且不執(zhí)行隨機(jī)操作或者“只是因?yàn)槟切?gòu)件存在”而分析各個(gè)構(gòu)件。無(wú)論是哪種方式,這些表格都應(yīng)該能夠幫助您。
或者,您可能希望利用 IBM Guided Activity Assistant 或以前的專(zhuān)欄中提到的其他某個(gè)問(wèn)題確定指導(dǎo)資源,以幫助您決定何時(shí)檢查每個(gè)構(gòu)件和使用每個(gè)工具可能是最高效的。
下面幾個(gè)部分中的工具表格將按照它們所用于的構(gòu)件進(jìn)行組織:
每個(gè)表格后面是每個(gè)工具自己的文檔中對(duì)每個(gè)工具的描述,以及每個(gè)工具的一般特征的大致細(xì)分。
用于 JVM 生成的信息的工具
此類(lèi)構(gòu)件包括:
-
Verbose Garbage Collection (verboseGC) 日志也許是最常見(jiàn)的 JVM 診斷類(lèi)型。它顯示了整個(gè) JVM 生存期間,各個(gè)垃圾回收周期的順序。它作為確定問(wèn)題時(shí)的一項(xiàng)初始的輔助工具,常常具有不可估量的價(jià)值,用于檢測(cè)和診斷反常的內(nèi)存分配問(wèn)題,例如內(nèi)存泄漏、碎片,以及與 GC 有關(guān)的性能問(wèn)題等等。
-
線程轉(zhuǎn)儲(chǔ)也是一種極為常見(jiàn)的 JVM 診斷類(lèi)型。線程轉(zhuǎn)儲(chǔ)(也稱(chēng)為 javacore)可以根據(jù)管理員的請(qǐng)求觸發(fā),或者在 JVM 中遇到某種特殊情況時(shí)自動(dòng)觸發(fā)。線程轉(zhuǎn)儲(chǔ)是一個(gè)文本文件,其中包含 JVM 狀態(tài)的關(guān)鍵方面的一個(gè)相對(duì)較短的快照。該快照最常用的部分是 JVM 中當(dāng)前活動(dòng)線程的列表,線程轉(zhuǎn)儲(chǔ)也因此而得名。線程轉(zhuǎn)儲(chǔ)最常見(jiàn)的用途是診斷 JVM 中出現(xiàn)掛起、變慢、崩潰或 CPU 占用率過(guò)高的原因。
-
堆轉(zhuǎn)儲(chǔ)是也可由 JVM 生成的另一種形式的轉(zhuǎn)儲(chǔ),可以按需生成,也可以在滿足特殊條件時(shí)自動(dòng)生成。通常,堆轉(zhuǎn)儲(chǔ)通常是一個(gè)非常大的文件,其中包含當(dāng)前 JVM 堆中所有對(duì)象的一個(gè)列表。它用于在出現(xiàn)內(nèi)存不足的情況下執(zhí)行深入分析。
-
系統(tǒng)堆或核心堆是開(kāi)銷(xiāo)最大的堆,但也是最完整的堆。它是一個(gè)巨大的二進(jìn)制文件,反映了 JVM 進(jìn)程的全部?jī)?nèi)容:每一個(gè) Java 對(duì)象及其字段、每一個(gè)線程、每個(gè)內(nèi)存區(qū)域,等等。系統(tǒng)轉(zhuǎn)儲(chǔ)的最初用途是在其他類(lèi)型的轉(zhuǎn)儲(chǔ)不足或無(wú)法生成時(shí),幫助診斷崩潰、掛起或復(fù)雜的內(nèi)存分配問(wèn)題。不過(guò),由于系統(tǒng)轉(zhuǎn)儲(chǔ)非常完整,它也能用來(lái)獲取有關(guān) WebSphere Application Server 運(yùn)行時(shí)當(dāng)前狀態(tài)的多方面信息,甚至有關(guān)在該運(yùn)行時(shí)中執(zhí)行的應(yīng)用程序的信息。
這里的有些構(gòu)件的名稱(chēng)和類(lèi)型特定于 IBM JDK;其他供應(yīng)商的 JDK 可能產(chǎn)生相似的文件。有關(guān)這些類(lèi)型的構(gòu)件的進(jìn)一步詳細(xì)信息,請(qǐng)參閱“權(quán)威支持”專(zhuān)欄用于實(shí)際故障診斷的功能和工具。
表 1. 用于 JVM 生成的信息的工具
構(gòu)件類(lèi)型 | 問(wèn)題類(lèi)型 | 典型輸入 | 可用的工具 |
---|---|---|---|
Verbose Garbage Collection 日志 (verbosegGC) |
|
| |
Java 轉(zhuǎn)儲(chǔ)/javacore |
|
| |
線程 |
|
| |
堆轉(zhuǎn)儲(chǔ) |
|
| |
系統(tǒng)或核心轉(zhuǎn)儲(chǔ) |
|
|
|
工具描述
用于 VerboseGC 分析:
-
IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer (GCMV)
一個(gè)詳細(xì)的 GC 數(shù)據(jù)可視化器,用于分析并繪制所有 IBM 詳細(xì) GC 日志——Xtgc 輸出(并且可擴(kuò)展到分析和繪制其他形式的輸入)。它提供了廣泛的詳細(xì) GC 數(shù)據(jù)值的圖形顯示,并處理 optthruput、optavgpause 和 gencon GC 模式。它具有原始日志、表格式數(shù)據(jù)和圖表視圖,并且可以將數(shù)據(jù)保存到 jpeg 或 .csv 文件(用于導(dǎo)出到電子表格)。請(qǐng)參閱 IBM Support Assistant 中的完整描述。
輸入:verbosegc 日志
輸出:圖形表示形式、html、jpeg 或 csv 文件
支持:此工具由 IBM 提供支持,目前是用于其所在領(lǐng)域的主要工具。 -
IBM Pattern Modeling and Analysis Tool (PMAT) for Java Garbage Collector
分析 IBM 詳細(xì) GC 跟蹤,分析 Java 堆使用情況,并基于 Java 堆使用情況的模式建模提供重要配置建議。此工具先于上面的 IBM Monitoring and Diagnostic Tools for Java - Garbage Collection and Memory Visualizer (1),并提供了一個(gè)可能相當(dāng)有用的不同透視圖。請(qǐng)參閱 IBM Support Assistant 或 alphaWorks 中的完整描述。
輸入:verbosegc 日志
輸出:verbosegc 日志的圖形或表格表示形式
其他功能:關(guān)于 JVM 參數(shù)的一般建議
支持:技術(shù)預(yù)覽版,按原樣提供。 -
Diagnostic Tool for Java Garbage Collector
通過(guò)讀取詳細(xì)垃圾回收的輸出,并產(chǎn)生文本和圖形可視化表示形式及相關(guān)統(tǒng)計(jì)信息,從而幫助檢查運(yùn)行在 JVM 下的應(yīng)用程序的垃圾回收特征。請(qǐng)參閱 alphaWorks 中的完整描述。
輸入:verbosegc
輸出:文本和圖形可視化表示形式
支持:按原樣提供的工具。
用于 Java 轉(zhuǎn)儲(chǔ)/javacore:
-
IBM Thread and Monitor Dump Analyzer (TMDA)
分析一個(gè)或多個(gè) Java 線程轉(zhuǎn)儲(chǔ)或 javacore,并診斷監(jiān)視器鎖和線程活動(dòng),以便確定掛起、死鎖和資源爭(zhēng)用或監(jiān)視器瓶頸的根源。請(qǐng)參閱 IBM Support Assistant 或 alphaWorks 中的完整描述。
輸入:用于顯示相關(guān)線程歷史記錄的單個(gè)或多個(gè) javacore
輸出:基于 GUI 的視圖
其他信息:關(guān)于 Analysis of hangs, deadlocks, and resource contention or monitor bottlenecks using IBM Thread and Monitor Dump Analyzer for Java Technology 的網(wǎng)絡(luò)廣播
支持:技術(shù)預(yù)覽版,按原樣提供,但是是該領(lǐng)域的主要工具。 -
ThreadAnalyzer
提供 Java 線程轉(zhuǎn)儲(chǔ)或 javacore 的分析,例如來(lái)自 WebSphere Application Server 的轉(zhuǎn)儲(chǔ)或 javacore。可以在不同的級(jí)別分析線程使用情況,從高級(jí)圖形視圖開(kāi)始,然后深入到各個(gè)線程的詳細(xì)記錄。如果線程轉(zhuǎn)儲(chǔ)中存在任何死鎖,ThreadAnalyzer 將檢測(cè)并報(bào)告它們。此工具先于上面的 IBM Thread and Monitor Dump Analyzer 工具 (4),但是其功能已集成到后者之中,后者正在成為該領(lǐng)域的主要工具。請(qǐng)參閱 IBM Support Assistant 中的完整描述。
輸入:Java 線程轉(zhuǎn)儲(chǔ)/javacore
輸出:線程的圖形視圖、加載多個(gè)線程轉(zhuǎn)儲(chǔ)以顯示線程歷史記錄的能力
支持:技術(shù)預(yù)覽版,按原樣提供,但是是該領(lǐng)域的主要工具。此工具可能會(huì)逐步淘汰;請(qǐng)盡可能使用 IBM Thread and Monitor Dump Analyzer。
用于線程:
-
IBM Lock Analyzer for Java
旨在對(duì)動(dòng)態(tài)應(yīng)用程序執(zhí)行鎖分析,以便突出具有可能影響性能的鎖爭(zhēng)用的線程。此工具由兩個(gè)包組成:- 第一個(gè)包與平臺(tái)相關(guān),并提供到 JVM 的連接,以便收集有關(guān)正在運(yùn)行的應(yīng)用程序的鎖統(tǒng)計(jì)信息。這個(gè)包在運(yùn)行時(shí)隨同要監(jiān)視的應(yīng)用程序一起進(jìn)行加載。
- 第二個(gè)包與平臺(tái)無(wú)關(guān),并提供了圖形用戶界面。
該圖形用戶界面連接到平臺(tái)包,并提供所需的控制和分析以確定性能糟糕的鎖。
請(qǐng)參閱 alphaWorks 中的完整描述。
輸入:從 JVM 收集的統(tǒng)計(jì)信息
輸出:鎖的圖形視圖
支持:按原樣提供的工具。
用于堆轉(zhuǎn)儲(chǔ):
-
Memory Dump Diagnostic for Java (MDD4J)
分析正在運(yùn)行 WebSphere Application Server 或任何其他獨(dú)立 Java 應(yīng)用程序的 JVM 中常見(jiàn)格式的內(nèi)存轉(zhuǎn)儲(chǔ)(堆轉(zhuǎn)儲(chǔ))。內(nèi)存轉(zhuǎn)儲(chǔ)分析旨在確定 Java 堆中可能是內(nèi)存泄露根源的數(shù)據(jù)結(jié)構(gòu)。該分析還確定應(yīng)用程序的 Java 堆占用空間的主要肇事者和它們的所屬關(guān)系。此工具能夠分析從遇到 OutOfMemoryError 問(wèn)題的生產(chǎn)環(huán)境應(yīng)用程序服務(wù)器中獲得的非常大的內(nèi)存轉(zhuǎn)儲(chǔ)(將需要 2 GB 或更多的 RAM)。MDD4J 擴(kuò)展了下面較舊的 IBM HeapAnalyzer (8) 的功能,盡管兩個(gè)工具的用戶界面完全不同。請(qǐng)參閱 IBM Support Assistant 中的完整描述。
輸入:來(lái)自虛擬機(jī) (JVM) 的內(nèi)存轉(zhuǎn)儲(chǔ)(堆轉(zhuǎn)儲(chǔ))
輸出:交互式報(bào)告,其中顯示主要的內(nèi)存泄露可疑之處,以及有關(guān)這些泄露的詳細(xì)信息。
其他功能:操作單個(gè)轉(zhuǎn)儲(chǔ)。有些版本提供了多個(gè)轉(zhuǎn)儲(chǔ)的比較分析。
支持:此工具由 IBM 提供支持,目前是用于其所在領(lǐng)域的主要工具。在本文編寫(xiě)之際,IBM Support Assistant 中的最新版本為 Beta 版。 -
HeapAnalyzer
HeapAnalyzer 讀取單個(gè) Java 內(nèi)存轉(zhuǎn)儲(chǔ)(堆轉(zhuǎn)儲(chǔ)),并使您能夠?yàn)g覽轉(zhuǎn)儲(chǔ)以查看其內(nèi)容。此工具是上面的 Memory Dump Diagnostic for Java (MDD4J) 工具(7) 的前身,后者現(xiàn)在包含前者的大多數(shù)功能。當(dāng)時(shí),HeapAnalyzer 中的原始樹(shù)瀏覽功能比在 MDD4J 中更加靈活。另一方面,HeapAnalyzer 缺乏 MDD4J 中的某些更完善的泄露嫌疑檢測(cè)算法,并且不支持多個(gè)轉(zhuǎn)儲(chǔ)的比較分析。請(qǐng)參閱 alphaWorks 中的完整描述。
輸入:?jiǎn)蝹€(gè) java 堆轉(zhuǎn)儲(chǔ)
輸出:可疑對(duì)象的圖形視圖和堆瀏覽器
支持:按原樣提供的工具。 -
HeapRoots
HeapRoots 讀取 Java 堆轉(zhuǎn)儲(chǔ)文件并提供用于分析數(shù)據(jù)的命令。這些命令對(duì)數(shù)據(jù)運(yùn)行算法,或查詢有關(guān)該數(shù)據(jù)的信息。HeapRoots 提供了命令行交互式界面,您可以在其中輸入命令并獲取結(jié)果。請(qǐng)參閱 alphaWorks 中的完整描述。
輸入:堆轉(zhuǎn)儲(chǔ)文件
輸出:可疑對(duì)象的圖形視圖和堆瀏覽器
支持:按原樣提供的工具。
用于系統(tǒng)/核心轉(zhuǎn)儲(chǔ):
-
IBM Monitoring and Diagnostic Tools for Java - Dump Analyzer
一個(gè)可擴(kuò)展的工具框架,它讀取 IBM JVM 產(chǎn)生的系統(tǒng)轉(zhuǎn)儲(chǔ)或核心文件,并針對(duì)該轉(zhuǎn)儲(chǔ)運(yùn)行各種各樣的分析模塊以診斷常見(jiàn)問(wèn)題,或提供有關(guān)該 JVM 和當(dāng)前運(yùn)行在該 JVM 中的任何中間件或應(yīng)用程序的內(nèi)部狀態(tài)的深入信息。目前,提供了用于對(duì)諸如死鎖、掛起、崩潰、內(nèi)存情況等常見(jiàn) JVM 問(wèn)題執(zhí)行基本分析功能的模塊。作為對(duì)該基本工具的補(bǔ)充,WebSphere Applicationi Server Modules for Dump Analyzer 提供了附加的模塊,可顯示 JVM 中的 WebSphere Application Server 運(yùn)行時(shí)的一般狀態(tài),以及有關(guān)多個(gè) WebSphere Application Server 子系統(tǒng)的詳細(xì)信息。請(qǐng)參閱 IBM Support Assistant 中的完整描述。
輸入:由 JVM 附帶的 jextract 工具進(jìn)行預(yù)處理的格式化系統(tǒng)轉(zhuǎn)儲(chǔ)
輸出:顯示一個(gè)報(bào)告,其中包含由指定的分析模塊提取的信息,還包含有關(guān)潛在問(wèn)題的觀察結(jié)果的簡(jiǎn)短摘要,以及一個(gè)提供深入信息的詳細(xì)信息部分。
其他功能:提供交互式模式以手動(dòng)檢查轉(zhuǎn)儲(chǔ)的內(nèi)容。使得用戶能夠編寫(xiě)自己的新的專(zhuān)門(mén)分析模塊并將模塊添加到該工具。
支持:此工具由 IBM 提供支持,目前是用于其所在領(lǐng)域的主要工具。
用于日志和跟蹤文件的工具
用于這些類(lèi)型的構(gòu)件的活動(dòng)包括:
-
日志記錄通常用于在日志文件中記錄您希望跟蹤的重要事件。日志記錄用于指示:
- 重要的狀態(tài)更改;例如,當(dāng)某個(gè)服務(wù)啟動(dòng)或停止的時(shí)候。
- 警告;例如,當(dāng)您正在寫(xiě)入的磁盤(pán)空間不足的時(shí)候。
- 錯(cuò)誤;例如,當(dāng)您的代碼由于預(yù)期的服務(wù)不可用而不再能夠繼續(xù)執(zhí)行的時(shí)候。
日志記錄通常是始終啟用的,因此日志記錄代碼必須體積相當(dāng)小,這通常是您應(yīng)該注意的重要事項(xiàng)。
-
跟蹤通常用于記錄在調(diào)試代碼問(wèn)題時(shí)可能有用的任何信息。跟蹤通常用于指示調(diào)用了哪些方法、向方法傳入了哪些數(shù)據(jù)(或從方法返回了什么值)以及對(duì)代碼邊界之外的其他方法的調(diào)用返回了什么數(shù)據(jù)。跟蹤事件體積可能比較大,因此只有在診斷問(wèn)題時(shí)啟用。由于跟蹤事件的內(nèi)容極為詳細(xì),而且是技術(shù)信息,因此經(jīng)常只對(duì)編寫(xiě)應(yīng)用程序的人有價(jià)值。打開(kāi)跟蹤的情況下,應(yīng)該能夠了解在代碼中可能出現(xiàn)的任何問(wèn)題。
表 2. 用于日志和跟蹤文件的工具
構(gòu)件類(lèi)型 | 問(wèn)題類(lèi)型 | 典型輸入 | 可用的工具 |
---|---|---|---|
來(lái)自多個(gè)產(chǎn)品的日志文件 |
|
| |
WebSphere 跟蹤(一般) |
|
| |
WebSphere Application Server 跟蹤和 HTTP 插件跟蹤 |
|
| |
WebSphere Application Server 跟蹤(連接工具) |
|
| |
JVM verboseGC 跟蹤 |
|
|
工具描述
-
Log Analyzer(以及相關(guān)的 Symptom Editor)
一個(gè)圖形用戶界面,提供用于瀏覽、分析和關(guān)聯(lián)多個(gè)產(chǎn)品產(chǎn)生的日志的單個(gè)聯(lián)絡(luò)點(diǎn)。此工具是更廣泛的 IBM 自主計(jì)算活動(dòng)的一部分。請(qǐng)參閱 IBM Support Assistant 中的完整描述。
輸入:來(lái)自 IBM 和其他供應(yīng)商推出的許多軟件產(chǎn)品的多個(gè)日志文件
輸出:基于 GUI 的視圖和日志文件關(guān)聯(lián)
其他功能:能夠保存配置以幫助其他支持工程師進(jìn)行進(jìn)一步的分析。提供了配套的 Symptom Editor 工具來(lái)創(chuàng)建您自己的癥狀數(shù)據(jù)庫(kù)。
支持:目前是其所在領(lǐng)域的主要工具。 -
Trace Analyzer for WebSphere Application Server
一個(gè)高度交互式的實(shí)用工具,使您能夠詳細(xì)瀏覽、檢查和搜索 WebSphere Application Server 中的復(fù)雜跟蹤文件。請(qǐng)參閱 alphaWorks 中的完整描述。
輸入:WebSphere Application Server trace.log;如果啟用了高級(jí)日志記錄,則還支持更多的輸入
輸出:功能強(qiáng)大的圖形視圖,帶篩選器和搜索視圖
其他功能:能夠保存配置以幫助其他支持工程師進(jìn)行進(jìn)一步的分析
支持:按原樣提供,但目前是其所在領(lǐng)域的主要工具。 -
IBM Trace and Request Analyzer for WebSphere Application Server
幫助查找非正常延遲、系統(tǒng)運(yùn)行緩慢或系統(tǒng)表現(xiàn)為掛起然后又恢復(fù)的情況的根源。此工具檢查 WebSphere Application Server 和 HTTP 插件中的跟蹤文件,通過(guò)這些文件確定各個(gè)請(qǐng)求,并找出特定操作需要花長(zhǎng)時(shí)間完成的區(qū)域,從而幫助您檢查跟蹤中的可疑區(qū)域,以確定是否存在問(wèn)題。用戶有時(shí)將此工具與上面的 Trace Analyzer for WebSphere Application Server (12) 搞混淆,但事實(shí)上它們是完全不同的。此工具嚴(yán)格地集中于盡可能自動(dòng)地找出性能問(wèn)題和延遲,而 Trace Analyzer 是通用工具,主要用于手動(dòng)檢查跟蹤。請(qǐng)參閱 alphaWorks 中的完整描述。
輸入:HTTP 服務(wù)器日志 (http_plugin.log) 和 WebSphere Application Server 跟蹤日志 (trace.log)
輸出:表格分析視圖
支持:按原樣提供,但目前是其所在領(lǐng)域的主要工具。 -
Database Connection Pool Analyzer for IBM WebSphere Application Server
采用啟發(fā)式分析引擎來(lái)幫助您解決與 Java Database Connectivity (JDBC) 連接池相關(guān)的問(wèn)題,并診斷 JDBC 連接泄露。此工具分析 JDBC 連接池管理器跟蹤,并提供以下功能:- JDBC 數(shù)據(jù)源分析。
- JDBC 連接池配置分析。
- JDBC 連接圖表視圖。
- getConnection 方法的 Java 堆棧跟蹤視圖。
有關(guān)使用此工具分析連接池問(wèn)題所需要的 WebSphere Application Server 跟蹤設(shè)置,請(qǐng)參閱 MustGather 信息。
請(qǐng)參閱 alphaWorks 中的完整描述。
輸入:JDBC 跟蹤日志
輸出:日志的表格和圖形分析
支持:按原樣提供,但目前是該領(lǐng)域的主要工具。
用于靜態(tài)配置文件和相關(guān)信息的工具
表 3. 與靜態(tài)配置相關(guān)的文件
構(gòu)件類(lèi)型 | 問(wèn)題類(lèi)型 | 典型輸入 | 可用的工具 |
---|---|---|---|
來(lái)自多個(gè)產(chǎn)品的配置文件 |
|
| |
WebSphere Application Server http 插件配置文件 |
|
| |
WebSphere Application Server 配置(從運(yùn)行時(shí)中讀取,無(wú)直接可見(jiàn)的文件) |
|
|
|
WebSphere Application Server 類(lèi)加載器配置(從運(yùn)行時(shí)中讀取,無(wú)直接可見(jiàn)的文件) |
|
|
|
WebSphere 產(chǎn)品安裝 |
|
| |
多個(gè)產(chǎn)品配置和運(yùn)行時(shí)網(wǎng)絡(luò)狀態(tài) |
|
|
工具描述
-
Visual Configuration Explorer (VCE)
提供一種可視化、探索和分析不同來(lái)源的配置信息的方法,例如 WebSphere Application Server、WebSphere MQ 和 DB2。此工具允許您:- 比較相同運(yùn)行時(shí)環(huán)境的不同快照。
- 創(chuàng)建圖表,采用圖形格式顯示配置信息,包括配置元素之間的主要關(guān)系。
- 訪問(wèn)詳細(xì)的配置屬性。
- 在配置內(nèi)和跨配置搜索屬性。
- 比較配置。
- 在不同的產(chǎn)品的配置信息之間建立聯(lián)系。
- 保存和恢復(fù)工作。
- 在問(wèn)題確定工作中與其他人進(jìn)行協(xié)作。
- 在獨(dú)立環(huán)境或客戶機(jī)/服務(wù)器環(huán)境中工作。
請(qǐng)參閱 IBM Support Assistant 中的完整描述。
輸入:從 VCE 附帶的 VCE 遠(yuǎn)程收集器工具中產(chǎn)生的 JAR 文件
輸出:配置的圖形描述。配置的差異報(bào)告(保存為 XML 格式)
其他功能:能夠保存配置,以幫助其他支持工程師進(jìn)行進(jìn)一步的分析。提供了配套的 Symptom Editor 工具來(lái)創(chuàng)建您自己的癥狀數(shù)據(jù)庫(kù)。
支持:技術(shù)預(yù)覽版,但它是其所在領(lǐng)域的主要工具。 -
IBM Web Server Plug-in Analyzer for WebSphere Application Server
幫助發(fā)現(xiàn)與 WebSphere Application Server 的 HTTP 插件組件相關(guān)的潛在問(wèn)題。此工具同時(shí)分析插件配置和對(duì)應(yīng)的跟蹤文件,然后應(yīng)用模式識(shí)別算法,以便向用戶發(fā)出有關(guān)可能的不一致性的警報(bào)。此工具提供配置和跟蹤文件中的 HTTP 返回代碼列表、URI 和可用集群的圖形表示形式,以及服務(wù)器拓?fù)洹?/p>請(qǐng)參閱 alphaWorks 中的完整描述。
輸入:WebSphere 插件日志文件 (http_plugin.log) 和 WebSphere Application Server 跟蹤文件 (trace.log)。
輸出:顯示 plugin-cfg.xml 文件和 trace.log 分析中的集群和成員拓?fù)涞目梢曈成洹?
支持:按原樣提供,但目前是其所在領(lǐng)域中的主要工具。 -
Configuration Validator
此工具是 WebSphere 管理控制臺(tái)的一部分,它幫助確定和查看 WebSphere Application Server 中的當(dāng)前配置中存在的問(wèn)題。請(qǐng)參閱 WebSphere Application Server 信息中心的完整描述。
輸入:操作 WebSphere Application Server 的某個(gè)運(yùn)行實(shí)例,可通過(guò)管理控制臺(tái)進(jìn)行訪問(wèn)。
輸出:配置問(wèn)題的表格視圖(單獨(dú)的錯(cuò)誤、警告選項(xiàng);管理控制臺(tái)中可用的信息)。
支持:包括為 WebSphere Application Server 的一部分,服從與主產(chǎn)品相同的支持流程。 -
Classloader Viewer
提供 WebSphere Application Server 的某個(gè)實(shí)例中當(dāng)前活動(dòng)的所有類(lèi)加載器和它們已加載的所有類(lèi)的詳細(xì)清單。這可以幫助診斷一系列與類(lèi)加載相關(guān)的問(wèn)題,例如未能加載所需的類(lèi)、加載了某個(gè)類(lèi)的意外版本、多個(gè)類(lèi)之間的可見(jiàn)性問(wèn)題,等等。請(qǐng)參閱 WebSphere Application Server 信息中心的完整描述。
輸入:操作 WebSphere Application Server 的某個(gè)運(yùn)行實(shí)例,可通過(guò)管理控制臺(tái)進(jìn)行訪問(wèn)。
輸出:WebSphere Application Server 管理控制臺(tái)中的樹(shù)形細(xì)分視圖;可保存到文件以便以后分析。
支持:包括為 WebSphere Application Server 的一部分,服從與主產(chǎn)品相同的支持流程。 -
Install Verification Utility (IVU)
作為一個(gè)在 WebSphere Application Server 中可用的名為“installver”的程序來(lái)交付,此程序?qū)?gòu)成當(dāng)前 WebSphere Application Server 安裝的文件執(zhí)行校驗(yàn)和,并將校驗(yàn)和與 WebSphere Application Server 附帶或在該工具以前的執(zhí)行過(guò)程中生成的參考文件做比較。此工具幫助檢測(cè)被破壞的安裝,例如,可能安裝了修改或修補(bǔ)程序然后卻遺忘了。請(qǐng)參閱 WebSphere Application Server 信息中心的完整描述。
輸入:WebSphere Application Server 文件,使用 verifyinstallver.bat 或 .sh 運(yùn)行該工具。
輸出:指示成功的文件檢查的消息。
支持:包括為 WebSphere Application Server 的一部分,服從與主產(chǎn)品相同的支持流程。 -
IBM Port Scanning Tool
在產(chǎn)品的安裝、配置或激活過(guò)程中掃描可用的端口,以幫助防止端口沖突。請(qǐng)參閱 IBM Support Assistant 中的完整描述。
輸入:要檢查的端口號(hào)范圍
輸出:列出任何正在使用的端口和任何可能的沖突的報(bào)告
支持:技術(shù)預(yù)覽版,但目前是其所在領(lǐng)域的主要工具。
總結(jié)
我們對(duì)用于 WebSphere 產(chǎn)品的一些最常遇到的問(wèn)題確定工具的概述到此就結(jié)束了,并提供了一些幫助您確定何時(shí)最適合使用每個(gè)工具的信息。但愿此信息將幫助您迅速和盡可能高效地啟動(dòng)問(wèn)題解決任務(wù)。請(qǐng)記住,IBM 提供的工具集在不斷地發(fā)展和增加,因此務(wù)必定期檢查有關(guān)每個(gè)工具的最新信息,并從問(wèn)題確定工作的前沿返回到本專(zhuān)欄以了解更多新聞。