jstat對VM內存使用量進行監控

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 -util pid:統計gc信息統計。  

   jstat -printcompilation pid:當前VM執行的信息。  

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

   語法結構:  

   Usage: jstat -help|-options  

      jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]  

參數解釋:  

Options — 選項,我們一般使用 -gcutil 查看gc情況  

vmid    — VM的進程號,即當前運行的java進程號  

interval– 間隔時間,單位爲秒或者毫秒  

count   — 打印次數,如果缺省則打印無數次  

S0  — Heap上的 Survivor space 0 區已使用空間的百分比  

S1  — Heap上的 Survivor space 1 區已使用空間的百分比  

E   — Heap上的 Eden space 區已使用空間的百分比  

O   — Heap上的 Old space 區已使用空間的百分比  

P   — Perm space 區已使用空間的百分比  

YGC — 從應用程序啓動到採樣時發生 Young GC 的次數  

YGCT– 從應用程序啓動到採樣時 Young GC 所用的時間(單位秒)  

FGC — 從應用程序啓動到採樣時發生 Full GC 的次數  

FGCT– 從應用程序啓動到採樣時 Full GC 所用的時間(單位秒)  

GCT — 從應用程序啓動到採樣時用於垃圾回收的總時間(單位秒)  



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章