运维技能
好用的运维脚本&工具
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
show-busy-java-threads <重复执行的间隔秒数> [<重复执行的次数>] -a <运行输出的记录到的文件> 保存下后可以多次分析对比jsatck
- 快速下载单个文件
1 | wget --no-check-certificate https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads |
jmap
- 查看不同类型占用的内存
1 | jmap -histo <进程号> | head -n 20 |
- GC情况
1 | jstat -gcutil 17708 1000 |
mac下好用的gc图形分析工具分析gc.log历史:gchisto下载
- dump 内存
1 | jmap -dump:file=heap.bin <进程号> |
arthas (终极杀手锏)
- 启动arthas
wget https://alibaba.github.io/arthas/arthas-boot.jar
java -jar arthas-boot.jar
- dashboard
gc cpu mem等..一览无余,基本上可以秒杀其他工具了..
- thread
- 问题排查:远程在线debug:watch+trace+monitor组合 最佳实践