參考:
http://yangle20081982.blog.163.com/blog/static/179610073201232391148631/
http://www.blogjava.net/sean/archive/2011/01/27/343620.html
http://lsmvictor.blog.163.com/blog/static/1851519320120733440451/
1 jps
- 作用:列出本機所有java進程的pid
- 用法:jps [ options ] [ hostid ]
- [options]:
- -q :僅輸出VM標識符,不包括class name,jar name,arguments in main method
- -m 輸出main method的參數
- -l 輸出完全的包名,應用主類名,jar的完全路徑名
- -v 輸出jvm參數
- -V 輸出通過flag文件傳遞到JVM中的參數(.hotspotrc文件或-XX:Flags=所指定的文件
- -Joption 傳遞參數到vm,例如:-J-Xms48m
- hostid: [protocol:][[//]hostname][:port][/servername]
- 樣例: jps -lv 10.9.18.110(目標主機要啓動jstatd)
2 jstat
- 作用:用於輸出給定java進程的統計信息
- 用法:jstat -options
- [options]:
- -class (類加載器)
- -compiler (JIT)
- -gc (GC堆狀態)
- -gccapacity (各區大小)
- -gccause (最近一次GC統計和原因)
- -gcnew (新區統計)
- -gcnewcapacity (新區大小)
- -gcold (老區統計)
- -gcoldcapacity (老區大小)
- -gcpermcapacity (永久區大小)
- -gcutil (GC統計彙總)
- -printcompilation (HotSpot編譯統計)
- 樣例: jstat -gcutil -t 12345 200 300 每200毫秒連續打印300次帶有時間戳的GC統計信息
3 jstatd
- 作用:啓動jvm監控服務。它是一個基於rmi的應用,向遠程機器提供本機jvm應用程序的信息。默認端口1099
- 用法:jstat -options
- [options]:
- -nr 當一個存在的RMI Registry沒有找到時,不嘗試創建一個內部的RMI Registry
- -p port 端口號,默認爲1099
- -n rminame 默認爲JStatRemoteHost;如果多個jstatd服務開始在同一臺主機上,rminame唯一確定一個jstatd服務
- -J jvm選項
- 樣例: 出錯:java.security.AccessControlException: access denied (java.util.PropertyPermission java.rmi.server.ignoreSubClasses write)