天天看點

java性能檢測(JConsole和jps)

一、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