日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
看一下JVM中那些常用的性能監(jiān)控工具

看一下JVM中那些常用的性能監(jiān)控工具

作者:馮冬冬 2020-07-17 08:36:16

云計算

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

汕頭網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。成都創(chuàng)新互聯(lián)公司自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選成都創(chuàng)新互聯(lián)公司。

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

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

一、性能監(jiān)控工具概述

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

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

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

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

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

二、工具

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

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

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

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

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

2、jstack:堆棧跟蹤工具

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

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

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

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

3、jstat:虛擬機統(tǒng)計信息監(jiān)控工具

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

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

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

第二個參數(shù):vmid

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

第三個參數(shù):interval

interval是采樣時間間隔,

第四個參數(shù):count

count表示的是采樣數(shù)。

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

4、jinfo:實時地查看和調(diào)整虛擬機各項參數(shù)

命令格式:

  
 
 
 
  1. jinfo [option] pid 

第一個參數(shù):option

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

第二個參數(shù):pid

指定顯示的進程id。

在CMD中進行測試:

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

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

  
 
 
 
  1. jmap [option] vmid 

第一個參數(shù):

第二個參數(shù):vmid

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

在cmd中測試:

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

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

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

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

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

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

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

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

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

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

三、總結

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

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


分享標題:看一下JVM中那些常用的性能監(jiān)控工具
URL網(wǎng)址:http://www.5511xx.com/article/dheccsi.html