我在阿里這三年總結(jié)的排查問題命令清單,建議收藏
平時(shí)的工作中經(jīng)常碰到很多疑難問題的處理,但是大部分還是網(wǎng)上查找,避免不了有時(shí)候走很多彎路,于是我就把這段時(shí)間在阿里常用的排查問題的命令整理下來,一個(gè)是為了快速翻閱,提高解決問題的效率,一個(gè)是分享出來大家共同進(jìn)步,當(dāng)然你有更好的也歡迎給我留言,查漏補(bǔ)缺。
實(shí)時(shí)命令
查詢倒數(shù) 300 行文件,并監(jiān)聽實(shí)時(shí)寫入
tail -300f application.log
查找命令
在 application.log 中查找 ERROR
grep ERROR application.log
cat application.log | grep -i ERROR
同時(shí)在兩個(gè)文件中查找 ERROR
grep ERROR 1.log 2.log
指定文件后綴查找
grep 'HelloWorld' /home/admin/logs -r -n --include *.{java}
排除文件后綴查找
grep 'HelloWorld' /home/admin/logs -r -n --exclude *.{java}
解析命令
解析命令多用于日志解析,分析日志的關(guān)鍵信息和內(nèi)容
打印通過空格隔開的每一行的第4個(gè)和第6個(gè)字符
awk '{print $4,$6}' application.log
打印通過“:”隔開的每一行的第4個(gè)和第6個(gè)字符
awk -F: '{print $4,$6}' application.log
文件定位
查詢特定目錄下面大于 200M 的文件
find /home/admin -size +200M
1天內(nèi)訪問過的文件
find /home/admin -atime -1
1天內(nèi)修改過的文件
find /home/admin -mtime -1
1分鐘內(nèi)訪問過的文件
find /home/admin -amin -1
1分鐘內(nèi)修改過的文件
find /home/admin -mmin -1
CPU
查看當(dāng)前程序運(yùn)行情況
ps -ef | grep java
top -H -p pid
網(wǎng)絡(luò)
查看當(dāng)前連接,按照類型排序
netstat -nat|awk '{print $6}'|sort|uniq -c|sort -rn
Java 問題定位
Arthas 這是阿里開源不久的故障排查利器,非常之方便,更多操作,移步 https://github.com/alibaba/arthas
jmap、jps、jstack、jstat 就不細(xì)講了,這應(yīng)該是 Java 工程師最拿手的利器。
值得一說的是 jdb,時(shí)至今日,jdb也是經(jīng)常使用的,一個(gè)有趣的可以使用命令行 DEBUG 的工具,具體可以參考文檔了解下
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html
解決包沖突可以使用下面命令快速導(dǎo)出所有的 maven 依賴
mvn dependency:tree > ~/dependency.txt
推薦閱讀:
喜歡我可以給我設(shè)為星標(biāo)哦

評論
圖片
表情
