日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JDK自带监控工具 jps、jinfo、jstat、jmap、jconsole

發布時間:2024/4/13 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDK自带监控工具 jps、jinfo、jstat、jmap、jconsole 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

分類: JVM 工具jdkjava遠程連接unixstring

常用有五個命令行工具:
jinfo: 可以輸出并修改運行時的java 進程的opts 。
jps: 與unix 上的ps 類似,用來顯示本地的java 進程,可以查看本地運行著幾個java 程序,并顯示他們的進程號。
jstat: 一個極強的監視VM 內存工具。可以用來監視VM 內存內的各種堆和非堆的大小及其內存使用量。
jmap: 打印出某個java 進程(使用pid )內存內的,所有‘對象’的情況(如:產生那些對象,及其數量)。
jconsole: 一個java GUI 監視工具,可以以圖表化的形式顯示各種數據。并可通過遠程連接監視遠程的服務器VM 。


接下來是對這些工具的詳細介紹:

從最簡單的jstat 工具開始:我想很多人都是用過unix 系統里的ps 命令,這個命令主要是用來顯示當前系統的進程情況,有哪些進程,及其id 。 jps 也是一樣,它的作用是顯示當前系統的java 進程情況,及其id 號。我們可以通過它來查看我們到底啟動了幾個java 進程(因為每一個java 程序都會獨 占一個java 虛擬機實例),和他們的進程號(為下面幾個程序做準備),并可通過opt 來查看這些進程的詳細啟動參數。
使用方法:在當前命令行下打 jps( 需要JAVA_HOME ,沒有的話,到改程序的目錄下打)


接下來是jstat ,我之所以這次調優是因為,目前情況下,并發用戶一多就會產生響應時間長的問題。雖然很開就解決了,決定首先對VM 內存使用量監控。jstat 工具特別強大,有眾多的可選項,詳細查看堆內各個部分的使用量,以及加載類的數量。使用時,需加上查看進程的進程id ,和所選參數。以下詳細介紹各個參數的意義。
jstat -class pid: 顯示加載class 的數量,及所占空間等信息。
jstat -compiler pid: 顯示VM 實時編譯的數量等信息。
jstat -gc pid: 可以顯示gc 的信息,查看gc 的次數,及時間。其中最后五項,分別是young gc 的次數,young gc 的時間,full gc 的次數,full gc 的時間,gc 的總時間。
jstat -gccapacity: 可以顯示,VM 內存中三代(young,old,perm )對象的使用和占用大小,如:PGCMN 顯示的是最小perm 的內存使 用量,PGCMX 顯示的是perm 的內存最大使用量,PGC 是當前新生成的perm 內存占用量,PC 是但前perm 內存占用量。其他的可以根據這個類推, OC 是old 內純的占用量。
jstat -gcnew pid:new 對象的信息。
jstat -gcnewcapacity pid:new 對象的信息及其占用量。
jstat -gcold pid:old 對象的信息。
jstat -gcoldcapacity pid:old 對象的信息及其占用量。
jstat -gcpermcapacity pid: perm 對象的信息及其占用量。
jstat -gcutil pid: 統計gc 信息統計。
jstat -gccause pid:統計gc信息,并顯示最后一次引發gc的事件。

jstat -printcompilation pid: 當前VM 執行的信息。
除了以上一個參數外,還可以同時加上 兩個數字,如:jstat -printcompilation 3024 250 6 是每250 毫秒打印一次,一共打印6 次,還可以加上-h3 每三行顯示一下標題。


jmap 是一個可以輸出所有內存中對象的工具,甚至可以將VM 中的heap ,以二進制輸出成文本。使用方法 jmap -histo pid 。如果連用SHELL jmap -histo pid>a.log 可以將其保存到文本中去,在一段時間后,使用文本對比工具,可以對比出GC 回收了哪些對象。jmap -dump:format=b,file=String 3024 可以將3024 進程的內存heap 輸出出來到String 文件里。

jinfo: 的用處比較簡單,就是能輸出并修改運行時的java 進程的運行參數。用法是jinfo -opt?? pid 如:查看2788 的MaxPerm 大小可以用?? jinfo -flag MaxPermSize 2788 。


jconsole 是一個用java 寫的GUI 程序,用來監控VM ,并可監控遠程的VM ,非常易用,而且功能非常強。由于是GUI 程序,這里就不詳細介紹了,不會的地方可以參考SUN的官方文檔。
使用方法:命令行里打 jconsole ,選則進程就可以了。


以下是這些工具的SUN 官方說明:
jps:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jps.html
jstat:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstat.html
jmap:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jmap.html
jconsole:http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html

轉載于:https://www.cnblogs.com/zhengah/p/4826506.html

總結

以上是生活随笔為你收集整理的JDK自带监控工具 jps、jinfo、jstat、jmap、jconsole的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。