Jps、Jstat、Jmap、Jstack、Jinfo命令

jps [options] [hostid]

jsp主要用來輸出JVM中運行的進程狀態信息。不指定hostid,默認當前主機。

-q 不輸出類名、Jar名和傳入main方法的參數

-m 輸出傳入main方法的參數

-l 輸出main類或Jar的全限名

-v 輸出傳入JVM的參數

 

jstat [generalOption | outputOptions vmid [interval[s|ms] [count]]]

JVM統計監測工具,可以用於觀察Java應用程序運行時信息的工具,它的功能非常強大,可以通過它查看堆信息的詳細情況。

-class 顯示加載class的數量及所佔空間等信息。

-compiler 顯示VM實時編譯的數量等信息

-gc 可以顯示gc的信息,查看gc的次數,及時間

-gccapacity 可以顯示,VM內存中三代(young,old,perm)對象的使用和佔用大小

-gccause 最近一次GC統計和原因

-gcnew 年輕代對象的信息

-gcnewcapacity 年輕代對象的信息及其佔用量

-gcold old代對象的信息

-gcoldcapacity old代對象的信息及其佔用量

-gcpermcapacity perm對象的信息及其佔用量

-gcutil 統計gc信息

-printcompilation HotSpot 當前VM執行的信息

 

 

jmap [option] pid

jmap [option] executable core

jmap [option] [server-id@]remote-hostname-or-ip

jmap用來查看堆內存使用狀況,一般結合jhat使用。

jmap -dump:live,format=b,file=[filename] [pid]

主要用於生成堆快照文件

-dump:[live,]format=b,file=<filename> 使用hprof二進制形式,輸出jvm的heap內容到文件=. live子選項是可選的,假如指定live選項,那麼只輸出活的對象到文件.

-finalizerinfo 打印正等候回收的對象的信息.

-heap 打印heap的概要信息,GC使用的算法,heap的配置及wise heap的使用情況.

-histo[:live] 打印每個class的實例數目,內存佔用,類全名信息. VM的內部類名字開頭會加上前綴”*”. 如果live子參數加上後,只統計活的對象數量.

-permstat 打印classload和jvm heap長久層的信息. 包含每個classloader的名字,活潑性,地址,父classloader和加載的class數量. 另外,內部String的數量和佔用內存數也會打印出來.

-F 強迫.在pid沒有相應的時候使用-dump或者-histo參數. 在這個模式下,live子參數無效.

-J 傳遞參數給jmap啓動的jvm.

class name是對象類型,說明如下:

  • B  byte
  • C  char
  • D  double
  • F  float
  • I  int
  • J  long
  • Z  boolean
  • [  數組,如[I表示int[]
  • [L+類名 其他對象

 

 

 

jstack [option] pid

jstack [option] executable core

jstack [option] [server-id@]remote-hostname-or-ip

主要用來查看某個Java進程內的線程堆棧信息。

 jstack可以定位到線程堆棧,根據堆棧信息我們可以定位到具體代碼,所以它在JVM性能調優中使用得非常多。下面我們來一個實例找出某個Java進程中最耗費CPU的Java線程並定位堆棧信息,用到的命令有ps、top、printf、jstack、grep。

-l long listings,會打印出額外的鎖信息,在發生死鎖時可以用jstack -l pid來觀察鎖持有情況

-m mixed mode,不僅會輸出Java堆棧信息,還會輸出C/C++堆棧信息(比如Native方法)

 

jinfo [ option ] pid

jinfo [ option ] executable core

jinfo [ option ] [server-id@]remote-hostname-or-IP

可以用來查看正在運行的Java應用程序的擴展參數,甚至在運行時修改部分參數

no option  打印命令行參數和系統屬性

-flags  打印命令行參數

-sysprops  打印系統屬性

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