深入JVM-性能監(jiān)控工具

一、Linux下的性能監(jiān)控工具

1.1 顯式系統(tǒng)整體資源使用情況-top命令

top命令

top命令的輸出可以分為兩個部分:前半部分是系統(tǒng)統(tǒng)計信息,后半部分是進程信息。

在統(tǒng)計信息中,第一行是任務隊列信息,他的結果等同于uptime命令。從左到右以此表示:系統(tǒng)當前時間、系統(tǒng)運行時間、當前登錄用戶數(shù)。最后的load average表示系統(tǒng)的平均負載,即任務隊列的平均長度,這三個值分別表示1分鐘、5分鐘、15分鐘到現(xiàn)在的平均值。

第二行是進程統(tǒng)計信息,分別有正在運行的進程數(shù)、睡眠進程數(shù)、停止的進程數(shù)、僵尸進程數(shù)。

第三行是CPU統(tǒng)計信息,us表示用戶空間CPU占用率、sy表示內和空間CPU占用率、ni表示用戶進程空間改變過優(yōu)先級的進程CPU的占用率、id表示空閑CPU占用率、wa表示等待輸入輸出的CPU時間百分比、hi表示硬件中斷請求、si表示軟件中斷請求。在Mem行中,從左到右,依次表示物理內存總量、yi'shi'y已使用的物理內存、空閑物理內存、內核緩沖使用量。Swap行依次表示交換區(qū)總量、空閑交換區(qū)大小、緩沖交換區(qū)大小。

top命令的第二部分是進程信息區(qū),顯示了系統(tǒng)內各個進程的資源使用情況。

  • PID:進程id
  • USER:進程所有者的用戶名
  • PR:優(yōu)先級
  • NI:nice值,負值表示高優(yōu)先級,正值表示低優(yōu)先級
  • %CPU:上次更新到現(xiàn)在的CPU時間占用百分比
  • TIME+:進程使用的CPU時間總計,單位1/100秒
  • %MEM:進程使用的物理內存百分比
  • VIRT:進程使用的虛擬內存總量,單位kb,VIRT=SWAP+RES
  • RES:進程使用的、未被換出的物理內存大小,單位kb,RES=CODE+DATA
  • SHR:共享內存大小,單位kb
  • COMMAND:命令名/命令行

1.2 監(jiān)控內存和CPU-vmstat命令

vmstat命令

1.3 監(jiān)控IO使用-iostat命令

iostat -d 1 2

-d表示輸出磁盤使用情況,輸入結果中各列的含義如下:

  • tps:該設備每秒的傳輸次數(shù)
  • kB_read/s:每秒從設備讀取的數(shù)據量
  • kB_wrtn/s:每秒向設備寫入的數(shù)據量
  • kB_read:讀取的總數(shù)據量
  • kB_wrtn:寫入的總數(shù)據量

二、windows下的性能監(jiān)控工具

2.1 任務管理器

2.2 perform性能監(jiān)控工具

“運行”輸入perform啟動即可。

2.3 Process Explorer 進程管理工具

2.4 pslist命令

三、JDK性能監(jiān)控工具

3.1 查看Java進程-jps

Jps命令—使用詳解

3.2 查看虛擬機運行時信息-jstat命令

jstat命令詳解

3.3 查看虛擬機參數(shù)-jinfo命令

jinfo命令詳解

3.4 導出堆到文件-jmap命令

jmap命令詳解

3.5 JDK自帶的堆分析工具-jhat命令

jhat命令詳解

3.6 查看線程堆棧-jstack命令

jstack命令詳解

3.7 遠程主機信息收集-jstatd命令

jstatd命令詳解

3.8 多功能命令行-jcmd命令

jcmd命令詳解

3.9 性能統(tǒng)計工具-hprof

四、圖形化虛擬機監(jiān)控工具JConsole

jConsole使用

五、可視化性能監(jiān)控工具Visual VM

Visual VM使用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容