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