1.现象
- load飙升到30+
- 线上sql连接异常
- tps正常
- sql查询时间剧增
2.解决过程
- sql连接池不够了,肯定是慢sql导致
- 频繁GC,一般内存使用过多
- 结合堆栈信息,某个对象内存占用特别多
- 某个sql查询数量大,调用量多,全表扫描。
3.GC查看
top 命令查看资源情况,找到使用率最高的线程
sudo -u spring-boot jstat -gcutil 384 200 50 命令查看内存使用,GC回收情况
4.dump堆栈信息
sudo -u spring-boot jmap -dump:format=b,file=heap.hprof 1375
5.下载文件
scp -r root@10.1.XX.XX:/tmp/hsperfdata_spring-boot/heap.hprof /Users/download
解释:root@ip:/目标文件地址 下载到那个文件地址