别再说你不会 -JVM- 性能监控和调优了,看完这篇再发言!
每隔 1000 毫秒打印堆内存信息,打印十次
查看类的装载和卸载信息
$ jstat -class 14966
Loaded Bytes Unloaded Bytes Time
829 1604.4 0 0.0 0.37
###Java 配置信息工具
查看 JVM 的启动参数
$ jinfo -flags 26472
VM Flags:
-XX:CICompilerCount=3 -XX:InitialHeapSize=52428800 -XX:MaxHeapSize=52428800 -XX:MaxNewSize=17301504 -XX:MinHeapDeltaBytes=524288 -XX:New
jstack Java 堆栈跟踪工具
即,对当前的内存生成相关的快照,用于保存相关的快照信息。
jmap Kava 内存映射工具
用于查看内存对象数量和内存空间占用
jhat 生成 html 类型的快照文件
$ jhat dump.hprof
Reading from dump.hprof...
Dump file created Sun May 03 17:09:07 CST 2020
Snapshot read, resolving...
Resolving 42293 objects...
Chasing references, expect 8 dots........
Eliminating duplicate references........
Snapshot resolved.
Started HTTP server on port 7000
Server is ready
启动后,在浏览器打开,http://localhost:7000/
jvisualvm & VisualVM: 堆转储快照分析工具
和上方命令一样,直接导出文件,而不是网站
对象信息
线程信息
jconsole: JVM 性能监控
启动用户界面用于进行性能监控
启动成功以后
Arthas
阿里开源的 Java 诊断工具
安装
下载
wget https://alibaba.github.io/arthas/arthas-boot.jarjava -jar arthas-boot.jar
解压
unzip arthas-packaging-bin.zip
安装
sudo su adminrm -rf /home/admin/.arthas/lib/*cd arthas./install-local.sh
启动
./as.sh
评论