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

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

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

top命令

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

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

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

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

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

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

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

vmstat命令

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

iostat -d 1 2

-d表示輸出磁盤(pán)使用情況,輸入結(jié)果中各列的含義如下:

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

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

2.1 任務(wù)管理器

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

“運(yùn)行”輸入perform啟動(dòng)即可。

2.3 Process Explorer 進(jìn)程管理工具

2.4 pslist命令

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

3.1 查看Java進(jìn)程-jps

Jps命令—使用詳解

3.2 查看虛擬機(jī)運(yùn)行時(shí)信息-jstat命令

jstat命令詳解

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

jinfo命令詳解

3.4 導(dǎo)出堆到文件-jmap命令

jmap命令詳解

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

jhat命令詳解

3.6 查看線(xiàn)程堆棧-jstack命令

jstack命令詳解

3.7 遠(yuǎn)程主機(jī)信息收集-jstatd命令

jstatd命令詳解

3.8 多功能命令行-jcmd命令

jcmd命令詳解

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

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

jConsole使用

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

Visual VM使用

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容