bingoogolapple / bingoogolapple.github.io

个人主页。同时也通过 Issues 记录学习笔记
http://www.bingoogolapple.cn
86 stars 22 forks source link

JVM 监控工具 #168

Open bingoogolapple opened 7 years ago

bingoogolapple commented 7 years ago

jps Java命令学习系列(一)jps

用来查看 JVM 里面所有进程的具体状态, 包括进程 ID,进程启动的路径等等。与 unix 上的 ps 类似,用来显示本地的 java 进程,可以查看本地运行着几个 java 程序,并显示他们的进程号

jps

列出远程服务器 192.168.1.110 所有的 JVM 实例,采用 RMI 协议,默认连接端口为1099

jps 192.168.1.110
bingoogolapple commented 7 years ago

jconsole

一个图形化界面,可以观察到 Java 进程的 GC、class、内存等信息

bingoogolapple commented 7 years ago

jinfo

观察运行中的 Java 程序的运行环境参数,包括 Java System 属性和 JVM 命令行参数

jinfo 14304
jinfo -flag NewSize 17832
bingoogolapple commented 7 years ago

jstack

可以观察到 JVM 中当前所有线程的运行情况和线程当前状态

jstack 14304
bingoogolapple commented 7 years ago

jmap

观察运行中的 JVM 物理内存的占用情况 参数如下:

jmap -heap 5412
jmap -heap `jps -v | grep tomcat-8000 | awk '{print $1}'`
jmap -histo:live 14304

将内存使用的详细情况输出到文件,并在浏览器中查看

jmap -dump:format=b,file=heapDump 14304
jhat -port 5000 heapDump
bingoogolapple commented 7 years ago

jstat java高分局之jstat命令使用

这是 JDK 命令中比较重要,也是相当实用的一个命令,可以观察到 ClassLoader,Compiler,gc 相关信息,具体参数如下:

每秒钟一次,一共5次,-h3 表示每三行打印一下标题,最后一个参数不指定则一直打印

jstat -gc 14304
jstat -gc 14304 1000 5
jstat -gcutil -h3 14304 1000 9
bingoogolapple commented 6 years ago

JVisualVM

JVisualVM 安装 MBeans 插件的步骤:工具(T) – 插件(G) …… 其他插件的安装过程基本一致

jvisualvm

JVisualVM 分配分析

image

bingoogolapple commented 6 years ago

Java Mission Control

jmc
bingoogolapple commented 6 years ago

GCViewer

java -jar gcviewer_1.3.4.jar gc.log
java -jar gcviewer_1.3.4.jar gc.log summary.csv chart.png
Chart

GCViewer 能用图形界面快速展现异常的 GC 行为。一般来说,图像化信息能迅速揭示以下症状:

bingoogolapple commented 6 years ago

Hyprof

java -jar -agentlib:hprof=heap=sites -Xms2g -Xmx2g -Xss256k -XX:+UseG1GC -Xloggc:./log/G1.log -XX:+PrintGC -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintGCDetails tuning-1.0.jar
bingoogolapple commented 6 years ago

Aprof

bingoogolapple commented 6 years ago

http://blog.csdn.net/renfufei/article/details/56678064