jvisualvm.exe

jvisualvm.exe是一個進程檔案。

基本介紹

  • 外文名:jvisualvm.exe
  • 性質:進程檔案
監控工具,問題解決方案,

監控工具

VisualVM 是Netbeans的profile子項目,已在JDK6.0 update 7 中自帶(java啟動時不需要特定參數,監控工具在bin/jvisualvm.exe),能夠監控執行緒,記憶體情況,查看方法的CPU時間和記憶體中的對 象,已被GC的對象,反向查看分配的堆疊(如100個String對象分別由哪幾個對象分配出來的)。
在JDK_HOME/bin(默認是C:\Program Files\Java\jdk1.6.0_13\bin)目錄下面,有一個jvisualvm.exe檔案,雙擊打開,從UI上來看,這個軟體是基於NetBeans開發的了。
從界面上看還是比較簡潔的,左邊是樹形結構,自動顯示當前本機所運行的Java程式,還可以添加遠程的Java VM,其中括弧裡面的PID指的是進程ID。OverView界面顯示VM啟動參數以及該VM對應的一些屬性。Monitor界面則是監控Java堆大小,Permgen大小,Classes和執行緒數量。Profiler界面比較有趣,看樣子似乎可以動態的對某個Java程式進行調優了。不過我沒試用這個功能,感覺要調優還是在Netbeans裡面比較自然一點,起碼有代碼,沒代碼調優了用處也不大。而且這裡還有個問題,有些VM是沒有Threads跟Profiler界面的,不知道是什麼原因,像我截圖裡面的Weblogic的Server就沒有這兩個界面。

問題解決方案

VisualVM是Sun的一個OpenJDK項目,其目的在於為Java套用創建一個整套的問題解決工具。該工具由幾個現有工具和新增功能合併而成的(如jvmstat、JMX、Attach API等)構成。VisualVM可以作為獨立套用運行,或者通過其良好的API進行擴展。
在Java SE for Business的特性和優勢頁面上,VisualVM被描述為可以勝任如下任務的工具:
比以往任何時候都更快更容易地在已部署的套用中追蹤導致可靠性、可用性或者可擴展性問題的根源。
根據VisualVM項目站點所述:
該工具的設計目標就是既可以在產品環境下使用,也可以在開發階段使用,並且進一步加強了對Java SE平台的監控能力和性能分析能力。
在本文寫作時,VisualVM 1.0 RC1已經提供下載了,同時根據VisualVM的主要開發者Thomas Hurka所述,官方的1.0版將於2008年夏季發布。它對JDK1.4.2、5.0及6.0都提供了支持,但是對JDK6.0的支持是最大的。一些特性列舉如下:
分析
Thread Dump
Heap Dump
分析快照
套用快照
當被問到針對其他版本JDK的特性的完善計畫時,Thomas Hurka說到:
VisualVM使用了不同的技術以從JDK(jvmstat、JMX、Attach AP及Serviceablity agent)中取得數據。如果某項技術在特定的JDK或者作業系統上不可用,那么依賴於這些技術的VisualVM特性也將不可用。
此外,VisualVM是“可插拔的”。它含有幾個外掛程式使其能夠監控、管理和修復部署在GlassFish上的套用,同時還有其他的外掛程式使其能輕鬆地與NetBeans(nbproject外掛程式)API協同工作
來自Sun的整套開源的問題解決方案表明了其對Java社區的承諾。說到社區,在2008年的JavaOne上有5個會議是圍繞著VisualVM展開的。如果你有幸參加了其中任意一個會議,InfoQ社區很高興能分享你的評論和反饋。

熱門詞條

聯絡我們