日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用VisualVM分析MyEclipse

發布時間:2024/9/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用VisualVM分析MyEclipse 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

MyEclipse包含了Sun公司的VisualVM分析器的高級集成。剖析可以為您收集有關應用程序的數據,因為它們運行并監測數據的統計。

  • 剖析一個獨立的Java應用程序
  • 剖析一個Web應用程序
  • 剖析一個Java小程序

持續時間:20分鐘

沒有MyEclipse?立即下載

1. 確保分析器安裝

VisualVM被包含在MyEclipse當中,但其卻未必是您基礎安裝配置的一部分。如果沒有安裝,您可以很容易地添加組件。

(1)選擇Help>Choose Components。

(2)在Selected中,在過濾字段中輸入VM找到MyEclipse VisualVM的分析器組件。

檢查VisualVM的Profiler軟件

(3)如果未安裝VisualVM,從左側選擇它并將其移動到右側添加的組件中。為了可靠地分析,您的應用程序必須在JRE 1.6.0更新的7或者更高的版本中執行。

2. 剖析一個獨立的Java應用程序

(1)選擇MyEclipse>Examples On-Demand來下載示例項目的分析。

(2)點擊搜索,然后搜索swing。

(3)點擊Swing Contact Manager安裝按鈕示例來將其安裝到您的工作區中。

安裝示例應用程序
2.1 性能分析

(1)右鍵單擊M4M Contact Manager示例項目,并選擇Profile As>Java Application。這將啟動性能分析模式的剖析。

啟動性能分析模式

(2)選擇Main – com.myeclipseide.examples.m4m作為主類,然后單擊確定,并選擇性能分析模式,然后點擊確定繼續。

(3)在contact manager應用程序中選擇一些新的名稱來觀察分析,此信息會被收集到VisualVM窗口。

當名稱被選中收集配置文件信息

(4)在列表中選擇一個名稱,然后單擊刪除會看到removeButtonActionPerformed方法被添加到列表中,以1為它的調用計數,每次單擊刪除后此計數都將增加。

結果用刪除按鈕

(5)點擊保存此時收集到的結果快照。使用過濾器來只顯示您要查看的信息,您可以將其保存為以后要研究的文件。

過濾快照信息

(6)關閉應用程序和VisualVM的窗口。

要在此運行分析會話,可以重復步驟1或者點擊分析圖標的下拉箭頭。選擇您要查看的剖析配置,如果先前所分析的應用程序仍在運行,在您啟動另一個分析會話之前系統會提示將其關閉。

從工具欄中運行配置文件
2.2 自定義性能分析

(1)右鍵單擊該項目,并選擇Profile As>Profile Configurations,或者點擊文件圖標的下拉菜單,并選擇Profile Configurations。

打開配置文件配置

(2)在Java應用程序節點下,從走遍的列表中選擇應用程序。

(3)選擇配置文件選項,然后在性能選項中更改分析器設置。

性能分析器設置

配置文件

  • 此字段指定根方法分析器使用您應用程序的儀表,只有根方法和在應用程序其余部分繼續運行的方法被稱為儀表。
  • 使用添加按鈕來指定一個方法、類或包。如果指定一個類,那么類的所有方法都會成為儀表的根。如果指定了一個包,那么包中所包含的所有類方法會成為儀表的根(根據您在根分析向導中的選擇,這就意味著只有被選中的包或子包)。
  • 默認情況下,MyEclipse規定根包括項目中的所有包。

只/不要配置文件下面的類

  • 該分組過濾器控制這些包被(或者不)分析。除了根方法本身以外,如果方法滿足此處的定義,那么分析數據值被收集和顯示。
  • 默認情況下,MyEclipse為一個只包含在項目中的包指定一個過濾器,您可以在Lazy、Eager和Total儀表之間進行選擇。

儀表方案

  • Lazy(MyEclipse默認值):由于它的低開銷,所以它是長時間運行儀表的最佳方案。當使用這個方案時,首先檢測的就是根的方法。當第一次執行根方法時,所有的方法調用都會被檢測。
  • Total:在這個方案中,當加載類時這個類中的所有方法都要檢測。對于長期運行的應用程序來說,由于它的高分析開銷,因此它并不是一個好的方案。然而對于那些短暫工作的應用程序來說,在分析啟動應用程序時它是有用的。
  • Eager:在這個方案中,每當一個類被加載時,分析器都將通過根方法直接或間接的定位儀表。因此儀表的方法數量比Lazy方案高得多,但是比Total更低。

分析啟動時的基本框架

  • 如果應用程序的JVM啟動也選擇profiled.During性能分析的方法,在性能分析的跟蹤方法中,進入和退出呼叫的方法會插入到各儀表的方法中。根據所使用的跟蹤技術,這些呼叫可能會需要時間戳。

方法跟蹤

  • 精確:有了精確的跟蹤,在每個方法被調用的時間中進入和退出呼叫采用時間戳。這將會給你準確的執行方法的時間讀數(進入和退出相應通話的時間),但由于大量調用OS高精度計時器會增加分析的開銷。
  • 采樣:時間戳采用的只是方法進入和退出呼叫時指定的采樣發生在interva的末端。其方法調用仍計算準確,這個選項就大大降低了分析的開銷,但其結果的準確性可能比那些使用精度技術的更低一些。

儀表方法調用()

  • 如果啟用,所有的呼叫都使用反射(java.lang.reflect.Method.invoke())的跟蹤和儀表。

儀表getter / setter方法

  • 啟用getter和setter方法的儀表。

儀表的空方法

  • 啟用不包含可執行代碼的方法儀表。

分析新的threads / runnables

  • 如果啟用,每次可運行的run()方法來視為根方法,也將導致調用一切方法來進行檢測。

排除時間花費在Thread.sleep()和Object.wait()上

  • 如果選擇了,這些方法都不會被分析。

分析線程數限制

  • 分析數據只從注冊線程時收集。當未注冊的線程進入儀表代碼時,它就被注冊了。當注冊的線程的數目達到指定的限制,進一步停止登記。該計數器可以在分析器復位時重置收集的結果。
2.3 內存性能分析

(1)右鍵單擊該項目,選擇Profile As>Profile Configurations,并從列表左側的Java應用程序節點下選擇您的項目。

(2)選擇配置文件選項,然后選擇內存選項。

內存配置文件設置

(3)自定義設置,然后單擊配置文件來啟動內存分析。

僅記錄對象創建

  • 選中后,分析器收集有關的數量、類型和分配對象的位置信息。目前由目標JVM(和它加載的每個新類)來加載所有類儀表。

記錄對象創建和垃圾收集

  • 如果選擇此選項,除了上述選項提供的數據,你也給有關對象生動活潑的信息,即有多少給定類型的對象仍然存在。分析垃圾收集除了創建對象還增加了分析開銷。

跟蹤每一個X分配

  • 盡管特定類別的分配對象的數量會被準確地跟蹤,但完整的分析數據是單獨進行跟蹤的,并且并且只收集每一個X(即類)個對象的分配。記錄有關每一個分配信息,該圖可以被設置為1,盡管這會顯著的增加分析開銷。默認情況下,MyEclipse跟蹤每10個對象分配。

分配記錄的堆棧跟蹤

  • 如果啟用,當對象創建被記錄時,此時的調用堆棧也會被記錄。默認情況下,整個調用堆棧都會被記錄,但限制堆棧深度與X幀選項可以用于限制幀的數目,并減少分析開銷。
顯示對象分配痕跡的內存快照

3. 分析一個Web應用程序

(1)右鍵單擊Web項目,并選擇Profile As>MyEclipse Server Application。

啟動web應用分析

(2)自定義設置按照第2節中的說明。分析配置您的Web應用程序是在MyEclipse服務器應用節點配置文件中的配置窗口下。

Web應用程序的配置文件設置

4. 分析一個Java小程序

(1)右鍵單擊小程序的項目,并選擇Profile As>Java Applet。

啟動Java小程序分析

(2)自定義設置按照第2節中的說明。分析配置您的Java小程序是在Java Applet配置文件中的配置窗口下。

對Java小程序的配置文件設置

5. 其他的VisualVM功能

在VisualVM的監視器選項中包含應用程序的當前狀態、CPU和內存的使用情況概述。

顯示器選項

線程選項包含了您的應用程序的線程列表。

Threads選項

以及您可以深入到獲得特定線程的詳細信息。

Threads選項詳細信息

點擊應用程序按鈕,右鍵單擊您的應用程序并選擇Thread或堆轉儲。

轉儲申請 線程轉儲 堆轉儲

MyEclipse官方中文網上線,歡迎下載交流!

轉載于:https://my.oschina.net/u/2317468/blog/399376

總結

以上是生活随笔為你收集整理的用VisualVM分析MyEclipse的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。