成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

看一下JVM中那些常用的性能監控工具

云計算 虛擬化
從這篇文章當中我們主要是分析JDK自帶的工具,把理論應用于實踐。

在之前的文章中,主要是分析了JVM的內存結構、類加載機制和垃圾回收機制。文章的順序也是循序漸進的,從這篇文章當中我們主要是分析JDK自帶的工具,把理論應用于實踐。

首先我們先對幾種要講的工具進行一個概述,然后再分別分析:

一、性能監控工具概述

工具主要是為了解決問題而生的,就是由于我們的程序存在著一些性能問題,才有了這些工具。其實當我們在下載完成JDK之后,那些工具就被SUN公司隨之送給我們了。

我們可以在我們的JDK安裝目錄,下看看會有很多這樣的工具。

我們會發現很多這樣的exe文件,這里面有很多都是性能監控工具。我們就抽出來幾個進行講解。

工具名稱 主要作用
jps(JVM Process Status Tool) 顯示指定系統中所有的HotSpot虛擬機進程
jstat(JVM Statistics Monitoring Tool) 收集HotSpot虛擬機各方面的運行數據
jinfo(Configuration Info for Java) 顯示虛擬機配置信息
jmap(Memory Map for Java) 生成虛擬機的內存轉儲快照(heapdump文件)
jhat(JVM Heap Dump Browser) 分析內存轉儲快照,不推薦使用,消耗資源而且慢
jstack(Stack Trace for Java) 顯示虛擬機的線程快照
JConsole JMX的可視化管理工具
VisualVM 多合一故障管理工具

常見的幾個工具都已經列出來了,還有一些其他的工具,其實用起來比JDK自帶的還要好,我會在今后的文章中列出來。OK,我們就一個一個去分析一下這些工具是干嘛的,以及如何去使用的。

二、工具

1、jps:虛擬機進程狀況工具

jps主要用來輸出JVM中運行的進程狀態信息。語法格式如下:

  1. jps [options] [hostid] 
  2.    第一個參數:options 
  3.  
  4. -q 不輸出類名、Jar名和傳入main方法的參數 
  5. -m 輸出傳入main方法的參數 
  6. -l 輸出main類或Jar的全限名 
  7. -v 輸出傳入JVM的參數 
  8.     第二個參數:hostid 

主機或者是服務器的id,如果不指定,就默認為當前的主機或者是服務器。

我是在Windows10系統下測試的,當然你可以在linux下試驗,方式是一樣的,結果可能有不同。你可以選擇不同的參數選項來進行測試。打開CMD輸入相應命令

2、jstack:堆棧跟蹤工具

jstack用于生成虛擬機當前時刻的線程快照。語法格式如下:

  1. jstack [option] vmid 
  2. 第一個參數:option 
  3.  
  4. 選項  作用 
  5. -F  當正常輸出的請求不被相應時候,強制輸出線程堆棧 
  6. -l  出堆棧外,顯示關于鎖的附加信息 
  7. -m  如果調用本地方法的話,可以顯示C/C++的堆棧 
  8. 第二個參數:vmid 

vmid是Java虛擬機ID,在Linux/Unix系統上一般就是進程ID。

我們直接在CMD中操作一下:

3、jstat:虛擬機統計信息監控工具

jstat監視虛擬機各種運行狀態信息,可以顯示本地或者是遠程虛擬機進程中的類裝載、內存、垃圾收集、JIT編譯等運行數據。語法格式如下:

  1. jstat [ generalOption | outputOptions vmid [interval] [count]] ] 
  2. 第一個參數:generalOption | outputOptions 

這個參數表示的option,代表著用戶希望查詢的虛擬機信息,分為類加載、垃圾收集、運行期編譯狀況3類。

第二個參數:vmid

vmid是Java虛擬機ID,在Linux/Unix系統上一般就是進程ID。

第三個參數:interval

interval是采樣時間間隔,

第四個參數:count

count表示的是采樣數。

下面我們就是用一下這個工具,打開我們的CMD,輸入相應的命令:

4、jinfo:實時地查看和調整虛擬機各項參數

命令格式:

  1. jinfo [option] pid 

第一個參數:option

  1. 選項  作用 
  2. -v  查看虛擬機啟動時顯示指定的參數列表 
  3. -flag   查看虛擬機啟動時未被指定的參數的默認值 
  4. -sysprops   打印虛擬機進程的System.getProperties()的內容 

第二個參數:pid

指定顯示的進程id。

在CMD中進行測試:

5、jmap:生成虛擬機的內存轉儲快照(heapdump文件)

jmap(Memory Map for Java,內存映像工具),用于生成堆轉存的快照,一般是heapdump或者dump文件。如果不適用jmap命令,可以使用-XX:+HeapDumpOnOutOfMemoryError參數,當虛擬機發生內存溢出的時候可以產生快照。或者使用kill -3 pid也可以產生。jmap的作用并不僅僅是為了獲取dump文件,它可以查詢finalize執行隊列,java堆和永久代的詳細信息,如空間使用率,當前用的哪種收集器。命令格式如下:

  1. jmap [option] vmid 

第一個參數:

第二個參數:vmid

vmid是Java虛擬機ID,在Linux/Unix系統上一般就是進程ID.

在cmd中測試:

6、jhat:分析內存轉儲快照,不推薦使用,而且慢

由于這個工具功能比較簡陋,運行起來也比較耗時,所以這個工具不推薦使用,推薦使用MAT。

7、JConsole:JMX的可視化管理工具

這個工具相比較前面幾個工具,使用率比較高,很重要。它是一個java GUI監視工具,可以以圖表化的形式顯示各種數據。并可通過遠程連接監視遠程的服務器VM。用java寫的GUI程序,用來監控VM,并可監控遠程的VM,非常易用,而且功能非常強。

在cmd里面輸入 jconsole,選則進程就可以了。(前提是在IDE工具先建立一個線程運行著)

然后我們選擇了相應的選項之后,進入這個工具就會出現下面這個界面

在上面有菜單,我們可以選擇其中一個進行查看,就可以了,這個用具用起來很方便,也是我之前用的比較多的工具。

8、VisualVM:多合一故障管理工具

這個工具也很牛bility。它同jconsole都是一個基于圖形化界面的、可以查看本地及遠程的JAVA GUI監控工具,Jvisualvm同jconsole的使用方式一樣,直接在命令行打入jvisualvm即可啟動,jvisualvm界面更美觀一些,數據更實時:

最上面也有菜單,你可以選擇不同的選項來展示。自己動手試一遍是最好的。

三、總結

這些工具就先寫這么多,在文章一開始我們其實已經發現了,jdk自帶的工具那是超級的多,而且隨著jdk版本的不斷更新,工具還有不斷加強增多的趨勢,想要每一個都掌握那太費時間了,我們遇到哪些問題去搜索一下,看看能用到哪些工具就可以了,列出的這幾種工具,對于初學者來說還是比較適用的。

 本文轉載自微信公眾號「愚公要移山」,可以通過以下二維碼關注。轉載本文請聯系愚公要移山公眾號。

 

責任編輯:武曉燕 來源: 愚公要移山
相關推薦

2011-10-12 11:07:12

iCloudiOS5蘋果

2021-08-05 07:28:27

SQL觸發器結構

2010-03-15 10:35:46

三層交換

2023-10-23 10:20:25

2017-03-03 10:37:07

Java泛型設計

2020-11-13 07:27:26

Windows10

2019-11-01 08:49:07

JVM監控性能

2021-07-08 06:47:19

JVM監控工具

2019-06-17 05:00:53

預測性維護物聯網IOT

2021-06-24 07:54:20

vite 靜態處理public

2020-09-17 09:18:49

iOS 14蘋果推送

2018-12-04 15:50:03

轉行Python爬蟲

2022-11-09 11:17:24

tee命令

2018-12-21 15:40:33

2019-06-24 09:57:39

網絡工具調試

2010-04-19 14:37:14

Oracle監控

2018-12-20 11:20:47

物聯網設備物聯網

2024-07-25 13:52:20

OpenAI虧損運營

2020-07-23 07:26:49

JVM類加載器

2012-03-02 14:20:46

JavaJVM
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲国产福利视频 | 色视频在线播放 | 国产一区二区成人 | 国产在线中文字幕 | 精品国产欧美一区二区三区成人 | 奇米久久 | 国内精品免费久久久久软件老师 | 中文字幕 在线观看 | 国产精品自产av一区二区三区 | 一区二区三区四区视频 | 日韩在线中文 | 亚洲成人午夜电影 | 一级毛片成人免费看a | 六月色婷| 日日夜夜精品视频 | 色综合天天网 | 日韩欧美一区二区三区 | 欧美一区二区三区视频在线 | 狠狠干天天干 | 在线黄av | 最新国产视频 | 日本精品久久久久 | 国产高清在线观看 | 欧美国产一区二区 | 国产精品久久久久久久久免费桃花 | 中文字幕欧美日韩 | 狠狠躁天天躁夜夜躁婷婷老牛影视 | 中文字幕成人免费视频 | 成年精品 | 97精品国产一区二区三区 | 亚洲欧美一区二区三区视频 | 日韩欧美在线观看视频网站 | 国产精品久久一区二区三区 | 一区二区三区亚洲 | 亚洲精品乱码8久久久久久日本 | 在线视频国产一区 | 中文字幕乱码视频32 | 欧美国产日韩一区二区三区 | 亚洲播放 | 一级片子| 激情麻豆视频 |