2019独角兽企业重金招聘Python工程师标准>>>
JDK监控和故障处理工具:
jps JVM Process Status Tool,显示指定系统内所有虚拟机进程。
jps工具的主要选项:
-q 只输出LVMID,省略主类的名称。
-m 输出虚拟机进程启动时传递给主类main()函数的参数。
-l 输出主类的全名,如果进程执行的是jar包,输出jar路径。
-v 输出虚拟机进程启动的JVM参数。
例如:
[doctor@localhost ~]$ jps -lm
30848 /home/doctor/opt/spring-tool-suite-3.6.3.SR1-e4.4.1-linux-gtk-x86_64/sts-bundle/sts-3.6.3.SR1/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar -os linux -ws gtk -arch x86_64 -showsplash -launcher /home/doctor/opt/spring-tool-suite-3.6.3.SR1-e4.4.1-linux-gtk-x86_64/sts-bundle/sts-3.6.3.SR1/STS -name STS --launcher.library /home/doctor/opt/spring-tool-suite-3.6.3.SR1-e4.4.1-linux-gtk-x86_64/sts-bundle/sts-3.6.3.SR1/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20150204-1316/eclipse_1607.so -startup /home/doctor/opt/spring-tool-suite-3.6.3.SR1-e4.4.1-linux-gtk-x86_64/sts-bundle/sts-3.6.3.SR1/plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar --launcher.overrideVmargs -exitdata 1828024 -product org.springsource.sts.ide -vm /home/doctor/opt/jdk/bin/java -vmargs -Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx768m -XX:MaxPermSize=256m -jar /home/doctor/opt/spring-tool-suite-3.6.3.SR1-e4.4.1-linux-gtk-x86_64/sts-bundle/sts-3.6.3.SR1/plugins/org.eclipse.equinox.launcher_1.3.0.v2014
31468 sun.tools.jps.Jps -lm
jstat JVM Statistics Monitoring Too,用于收集虚拟机个方面的运行数据。
它可以显示本地或远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据。在没有GUI图形界面,只提供了纯文本控制台环境的服务器上,它将是运行期定位虚拟机性能问题的首选工具。
例如:
[doctor@localhost ~]$ jstat -gc 30848
S0C S1C S0U S1U EC EU OC OU MC MU CCSC CCSU YGC YGCT FGC FGCT GCT
69120.0 72704.0 0.0 1728.0 98304.0 19433.0 318976.0 222991.7 133288.0 118730.8 18344.0 14115.3 61 1.555 7 1.886 3.441
[doctor@localhost ~]$ jstat -gcutil 30848
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 2.38 19.81 69.91 89.08 76.95 61 1.555 7 1.886 3.441
jinfo Configuration Info for Java,显示虚拟机配置信息。
jmap Memory Map for Java,生成虚拟机的内存转储快照(heapdump文件)。
jhat JVM Heap Dump Browser,用于分析heapdump文件,它会建立一个HTTP/HTML服务器,让用户可以浏览器上查看分析结果。