jvm診斷與優化(9)

linux---------------------------------------------- java

top          //顯示總體資源使用狀況

top     -當前服務器時間; 運行8天,17:05小時; 一個用戶;平均負載
Tasks  - 148個進程; 1個正在運行;  147已睡眠;  0個已中止;  0個是殭屍線程
cpu    - 用戶空間佔0.1%;  內核空間佔0.1%; ni; id-空閒空間佔99.7%; hi(硬件中斷請求);si(軟件中斷請求)
Mem  - 總內存 8174448KB;  使用了7192256KB; 空閒982192KB; 內核緩衝使用量665164KB
swap  - 交換區總量4192956KB; ...; 緩衝交換區大小1644700KB linux

PID        USER        PR    NI                ViRT    RES                           SHR    S    %CPU    %MEM    TIME+                  COMMAND
進程id    所屬用戶    (優化級,ni負表示高)            未被換出物理內存的大小 共享內存大小                          進行使用cpu時間       命令行 ios

vmstat    //監控內存和cpu
tomcat

iostat    //監控io使用

tps                    Blk_read/s        Blk_wrtn/s        Blk_read        Blk_wrtn
每秒傳輸次數        每秒讀取量           每秒寫量            總讀量            總寫量 服務器

jdk自帶--------------------------------------------------------------------
jps -l      //查看java進程,這個命令封裝在tools.jar中,爲java的一個程序

輸出說明:輸出了pid和java的主類名。能夠看到Bootstrap爲tomcat中主類,因此這裏共有三個tomcat在啓動中
*jsp -v 查看java虛擬機的參數 jvm

jstat    //查看虛擬機運行時信息
例:查看gc ; jstat -gc pid

s0c / s1c : s0/s1的大小(KB)
s0u/ s1u  :   s0/s1使用的大小(KB)
ec/oc/pc : 年輕代/老年代/Prem的大小
eu/ou/pu :  使用大小
YGC/FGC  :  年輕代/full gc 次數
YGCT/FGCT:  年輕代/full gc 時間
GCT    : GC總時間
jsp

jstack    //查看線程堆棧 工具

可視化工具------------------------------------------------------------------
優化

visual VM 它可替代jstat、jmap、jhat、jstack,甚至代替JConsole。在jdk 6u7 後,它做爲jdk的一部分發布,徹底免費.
也能夠做爲獨立的軟件安裝
spa

在啓動以前本地機子上已經啓動了一個tomcat

 visualVm如上立刻會監測到,如圖能夠看到tomcat的pid 5640,右還能夠看到jvm的參數,及系統屬性
監視選項卡能夠動態的查看cpu,內存,類,線程等信息。

對堆的分析

查看類與它的實例
右鍵可查看其實例

相關文章
相關標籤/搜索