一、JConsole
JConsole是java自帶的圖形化性能檢測工具。可以檢視java運作情況,如監控堆資訊,永久區使用情況、類加載情況等。
JConsole從jdk5開始引。
需要遠端連接配接,則在遠端上為:
-Djava.rmi.server.hostname=127.0.0.1
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8888 //用于指定通過JMX管理該程序的端口号
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
其中 JMX為 JMX(Java Management Extensions,即Java管理擴充) ,為java管理擴充。
linux下修改 catalina.sh執行個體:
在
# ----- Execute The Requested Command -----------------------------------------下面
CATALINA_OPTS="$CATALINA_OPTS -Djava.rmi.server.hostname=ip -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.rmi.port=8888"
例子:以本地為遠端:
tomcat下catalina.bat添加為:
setlocal
set "JAVA_OPTS=-server -Xms512m -Xmx512m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
在jconsole中配置為:UI界面在遠端連接配接上:
127.0.0.1:8888 既可。
二、jps
啟動了tomcat(tomcat 通過startup.bat啟動)和jps程序
jps類似于linux下的ps,會列出java的程序。不加參數,則列出 java程式程序ID和Main函數短名稱。如:
1 不加參數 程序ID Main函數短名稱
C:\Users\cmcc>jps
544 Jps
7316 Bootstrap
2 jps -q 隻輸出程序ID
C:\Users\cmcc>jps -q
4400
7316
3 jps -m 輸出傳遞給該java程序(主函數)的參數
C:\Users\cmcc>jps -m
7316 Bootstrap start
8536 Jps -m
4 jps -l 用于輸出主函數的完整路徑
C:\Users\cmcc>jps -l
7316 org.apache.catalina.startup.Bootstrap
8748 sun.tools.jps.Jps
5 jps -v檢視傳遞給java虛拟機的參數,即jvm的參數。
C:\Users\cmcc>jps -v
4400 Jps -Denv.class.path=.;C:\Program Files\Java\jdk1.8.0_91/lib/dt.jar;C:\Prog
ram Files\Java\jdk1.8.0_91/lib/tools.jar -Dapplication.home=C:\Program Files\Jav
a\jdk1.8.0_91 -Xms8m
7316 Bootstrap -Djava.util.logging.config.file=E:\install\tomcat8\apache-tomcat-
8.5.23\conf\logging.properties -Djava.util.logging.manager=org.apache.juli.Class
LoaderLogManager -Xms512m -Xmx512m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:Perm
Size=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC -Djava.rmi.server.hostname
=127.0.0.1 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=88
88 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authe
nticate=false -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org
.apache.catalina.webresources -Dcatalina.base=E:\install\tomcat8\apache-tomcat-8
.5.23 -Dcatalina.home=E:\install\tomcat8\apache-tomcat-8.5.23 -Djava.io.tmpdir=E
:\install\tomcat8\apache-tomcat-8.5.23\temp
6 jps -m -l -v
三、jstat
四、jinfo
五、jmap
六、jhat
七、jstack
八、jstatd
九、jcmd指令
十、hprof