国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

java jdk中的可視化性能監控工具visual vm是怎樣的

發(fā)布時(shí)間:2021-09-27 17:50 來(lái)源:億速云 閱讀:0 作者:柒染 欄目: 開(kāi)發(fā)技術(shù)

今天就跟大家聊聊有關(guān)java jdk中的可視化性能監控工具visual vm是怎樣的,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

visual vm 是一個(gè)功能強大的多合一故障診斷和性能監控可視化工具,使用 visual vm 可以替代 jstat、jmap、jhat、jstack等。盡管如此,考慮到生產(chǎn)項目絕大多數發(fā)布在linux,不支持gui界面,因此無(wú)法直接使用visual vm,所以生產(chǎn)上還是使用jstat、jmap、jhat、jstack等工具居多。

1. 安裝

jdk7jdk8 版本,可直接在命令行使用jvisualvm命令啟動(dòng)visual vm. 從jdk 9開(kāi)始, visual VM不再集成在Oracle JDK中, 需要單獨下載安裝, 下載地址。安裝完成后需要配置環(huán)境變量,這樣之后就可以從命令行啟動(dòng)了。

visual vm 支持插件安裝,通過(guò)菜單欄Tools -> Plugins 打開(kāi)插件安裝界面:

推薦安裝visual gc,可以方便地看到eden區、suvivor區、老年代、meatspace區等區域內存空間占用及回收情況。

2. 連接應用程序

visual vm 可以連接本地java應用程序,也可以連接遠程java應用。

2.1 本地連接

開(kāi)啟visual vm后,左側面板local節點(diǎn)下就會(huì )列出本機上所有的java線(xiàn)程,雙擊對應的節點(diǎn),即可連接。

2.2 遠程連接

visaul vm也支持遠程jmx連接,java應用程序可以通過(guò)以下參數打開(kāi)jmx端口:

-Djava.rmi.server.hostname=127.0.0.1 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8888 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false"
例:遠程連接admin.jar 項目
  1. 啟動(dòng)項目

java -jar -Djava.rmi.server.hostname=192.168.0.104 \
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8888 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
admin.jar
  • -Djava.rmi.server.hostname 對應的是要遠程訪(fǎng)問(wèn)的服務(wù)器ip,如果你的遠程服務(wù)器ip是10.1.23.4,那么-Djava.rmi.server.hostname對應的值就為10.1.23.4。

  • -Dcom.sun.management.jmxremote.port 指定遠程服務(wù)器jmx開(kāi)放的端口。

  1. 使用visualvm 連接 在visual vm的菜單欄,通過(guò) File -> Add JMX Connection... 打開(kāi)jmx連接面板

Connection欄中的192.168.0.104:8888對應的就是啟動(dòng)參數中的-Djava.rmi.server.hostname-Dcom.sun.management.jmxremote.port 的值。

連接成功的界面如下:

再來(lái)一張本地直接連接的示例:

相比于本地直接連接,遠程jmx連接少了Minitor、threads、Sampler、Profiler等幾個(gè)功能,另外Visual GC 也無(wú)法在遠程連接時(shí)使用:

3. 監控應用程序概況

通過(guò)visual vm,可以查看程序的基本概況,比如進(jìn)程id, Main Class, 啟動(dòng)參數等。

單擊Tab頁(yè)面上的監控頁(yè)面,即可監控應用程序的cpu、堆、永久區、類(lèi)加載和線(xiàn)程的總體情況。通過(guò)頁(yè)面上的“執行垃圾回收”和“堆dump”按鈕還可以手工執行FullGC和生成堆快照。

4. Thread Dump和分析

visual vm的線(xiàn)程頁(yè)面可以提供詳細的線(xiàn)程信息,單擊右上角的“線(xiàn)程dump”按鈕,可以導出當前所有線(xiàn)程的堆棧信息(相當于jstack命令)。

5. 性能分析

visual vm 有兩個(gè)采樣器,在sample頁(yè)面顯示了cpu和內存兩個(gè)性能采樣器,用于實(shí)時(shí)監控應用程序信息。cpu采樣器可以將cpu占用時(shí)間定位到方法,內存采樣器可以查看當前程序的堆信息。

通過(guò)visual vm的采樣功能,可以找到該程序中占用cpu時(shí)間最長(cháng)的方法,如圖所示,

visual vm 的默認統計信息中,并不包含jdk的內置對象的函數調用統計,比如 java.* 包中的類(lèi)。如果需要統計jdk內的方法調用情況,需要單擊右上角的“設置”選項,手工進(jìn)行配置。

通過(guò)內存采樣器,可以實(shí)時(shí)查看系統中的實(shí)例分布情況:

6. 內存快照分析

使用右鍵菜單中的堆dump,可以立即獲得當前應用程序的內存快照,如圖所示:

內存快照如圖所求,在頂部的下拉框中,提示了4個(gè)基本功能頁(yè):概要、對象、線(xiàn)程和OQL控制臺。

  1. 概要頁(yè)面展示了當前內存的整體信息,包括內存大小、實(shí)例總數、類(lèi)總數等。

  1. 對象頁(yè)面,以類(lèi)為索引,顯示了每個(gè)類(lèi)的實(shí)例數和占用空間。

  1. 在線(xiàn)程頁(yè)面,展示了當前應用dump時(shí)的線(xiàn)程堆棧情況。

  1. OQL控制臺提供了更強大的對象查詢(xún)功能。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自互聯(lián)網(wǎng)轉載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權請聯(lián)系QQ:712375056 進(jìn)行舉報,并提供相關(guān)證據,一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容。

成 人 免费 黄 色 网站无毒| 3D动漫精品啪啪一区二区下载| 在线观看免费人成视频色| 男人搡女人全部过程| 内射人妻无码色AV无码| 1000部又爽又黄无遮挡的视频|