运维技能

好用的运维脚本&工具

jstack神器 (一个轻量级jstack脚本)

  • 快速安装:

​ source <(curl -fsSL https://raw.githubusercontent.com/oldratlee/useful-scripts/master/test-cases/self-installer.sh)

  • 常用命令:

​ show-busy-java-threads ,默认直接输出cpu busy java线程 top5, -p 可指定PID

​ show-busy-java-threads <重复执行的间隔秒数> [<重复执行的次数>] -a <运行输出的记录到的文件> 保存下后可以多次分析对比jsatck

image-20220418230324758

  • 快速下载单个文件
1
2
3
wget --no-check-certificate https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads
chmod +x show-busy-java-threads
./show-busy-java-threads

更多好用的功能:useful-scripts

jmap

  • 查看不同类型占用的内存
1
jmap -histo <进程号> | head -n 20 
  • GC情况
1
jstat -gcutil 17708 1000 

​ mac下好用的gc图形分析工具分析gc.log历史:gchisto下载

image-20220418230353485

  • dump 内存
1
2
jmap -dump:file=heap.bin <进程号> 
分析工具 Memory Analyzer 下载

arthas (终极杀手锏)

arthas介绍

  • 启动arthas

​ wget https://alibaba.github.io/arthas/arthas-boot.jar

​ java -jar arthas-boot.jar

  • dashboard

​ gc cpu mem等..一览无余,基本上可以秒杀其他工具了..

image-20220418230458069