Java線程及Jvm監控工具

Java線程狀態java

線程的五種狀態web

* 新建:new(時間很短)windows

* 運行:runnabletomcat

* 等待:waitting(無限期等待),timed waitting(限期等待)服務器

* 阻塞:blockedapp

* 結束:terminated(時間很短)webapp

Jvm監控工具jvm

1、jstack工具

介紹:測試

jstack用於打印出給定的java進程ID或core file或遠程調試服務的Java堆棧信息。
若是是在64位機器上,須要指定選項"-J-d64",Windows的jstack使用方式只支持如下的這種方式:jstack [-l] pid
若是java程序崩潰生成core文件,jstack工具能夠用來得到core文件的java stack和native stack的信息,從而能夠輕鬆地知道java程序是如何崩潰和在程序何處發生問題。
另外,jstack工具還能夠附屬到正在運行的java程序中,看到當時運行的java程序的java stack和native stack的信息, 若是如今運行的java程序呈現hung的狀態,jstack是很是有用的。

使用:

一、查看運行程序的進程號

二、jstack dump當前線程狀態

三、根據當前抓取到的信息進行進一步的分析

2、jvisualvm

jdk自帶有個jvisualvm工具、該工具是用來監控java運行程序的cpu、內存、線程等的使用狀況。而且使用圖表的方式監控java程序、還具備遠程監控能力。

前期準備

一、上傳tomcat到虛擬機,webapps下存在Prefteach包

二、監控以前先對jvm加監控參數,在tomcat的bin目錄下,catalina.sh文件中,搜索JAVA_OPTS=,在if裏面,添加:

  -Dcom.sun.management.jmxremote.port=10086 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.1.101
    以上添加的內容,須要修改兩處
   1-改port
   2-改hostname爲本機ip

三、啓動tomcat並打開輸出日誌:./startup.sh ../logs/catalina.out

jvisualvm使用

一、windows鍵+R鍵 輸入jvisualvm回車

二、右鍵遠程添加遠程主機

 

三、在 主機ip 上右鍵添加jmv鏈接

 

四、輸入遠程鏈接的端口號點擊肯定

五、雙擊192.168.1.101:10086,打開以下圖所示的界面

 

六、進入jvisualvm時時查看程序運行狀態

註釋:在測試環境中有可能沒有權限在服務器上添加須要遠程鏈接的配置,這樣只能使用jstack

相關文章
相關標籤/搜索