一、linux 命令
1、top -c ---》打印進程的Gc情況
2、top -Hp 21398 ---》21398 為進程id ,可以查出進程下消耗最高的線程
3、jstack 23519 | grep '6D6C' -A20 ---》23519 為進程id ,6D6C 為線程id 轉(zhuǎn)換為十六進制的數(shù)
4、通過命令 jstack 進程id > txt文件 ?---》?將對應的進程id生成到對應的txt文件(這種相對于第三種是將日志打印在了txt文件)
第三和第四可以直接定位到代碼行數(shù)
ps:
查看內(nèi)存情況
jmap -heap 2422
jmap -dump:format=b,file=fileName.hprof 進程號(生成dump文件)
生產(chǎn)慢sql排查(dba有監(jiān)控應該不用我們直接操作)
1、show profiles
2、show profile for query query_Id