JVM探祕(四)-效能監控jps工具詳解
阿新 • • 發佈:2021-01-22
一、概述
jps(JVM Process Status Tool):可以列出正在執行的虛擬機器進 程,並顯示虛擬機器執行主類(Main Class,main()函式所在的類)名稱以及這些程序的本地虛擬機器唯一 ID(LVMID,Local Virtual Machine Identifier)。LVMID即虛擬機器例項執行時的程序號,比如我們同時執行三個Java程式,那麼將會有與之對應的三個Java虛擬機器例項,每一個虛擬機器例項都有一個ID識別符號。
二、使用方法
jps的命令格式如下:
jps [ options ] [ hostid ] options:命令選項,用來對輸出格式進行控制 hostid:指定特定主機,可以是ip地址和域名, 也可以指定具體協議,埠。格式為:[protocol:][[//]hostname][:port][/servername]
關於jps命令options選項引數為
三、應用舉例
我們執行如下程式碼
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class Test {
public static void main(String[] args) {
try{
ServerSocket serverSocket = new ServerSocket();
serverSocket.bind(new InetSocketAddress(8000));
Socket accept = serverSocket.accept();
System.out.println("收到客戶端連線.....");
}catch (Exception e){
e.printStackTrace();
}
}
}
改程式碼啟動一個ServerSocket等待一個客戶端連線,由於accpet是阻塞方法,那麼在未收到客戶端連線時,不會退出阻塞,以便我們進行測試。現在我們開啟命令列視窗,輸入jps -l命令:
可以看到,jps顯示我們執行程式的LVMID以及對應的包含報名的主類名稱。
上述引數都比較簡單,讀者可自行嘗試其他options引數。
使用jsp -m則不會顯示包名。如圖所示: