Linux命令類
tail
tail -999f fixed-center.log #倒數(shù)999行并進(jìn)入實(shí)時(shí)監(jiān)聽文件寫入模式
grep
grep forest f.txt #文件查找
grep forest f.txt cpf.txt #多文件查找
grep 'log' /home/admin -r -n #目錄下查找所有符合關(guān)鍵字的文件
cat f.txt | grep -i shopbase #匹配的行
grep 'shopbase' /home/admin -r -n --include *.{vm,java} #指定文件后綴
grep 'shopbase' /home/admin -r -n --exclude *.{vm,java} #反匹配
seq 10 | grep 5 -A 3 #上匹配
seq 10 | grep 5 -B 3 #下匹配
seq 10 | grep 5 -C 3 #上下匹配,平時(shí)用這個(gè)就妥了
cat f.txt | grep -c ‘SHOPBASE’ #匹配計(jì)數(shù)
find
sudo -u admin find /home/admin /tmp /usr -name \*.log #多個(gè)目錄去找
find . -iname \*.txt #大小寫都匹配
find . -type d #當(dāng)前目錄下的所有子目錄
find /usr -type l #當(dāng)前目錄下所有的符號(hào)鏈接
find /usr -type l -name "z*" -ls #符號(hào)鏈接的詳細(xì)信息 eg:inode,目錄
find /home/admin -size +250000k #超過(guò)250000k的文件,當(dāng)然+改成-就是小于了
find /home/admin f -perm 777 -exec ls -l {} \; #按照權(quán)限查詢文件
find /home/admin -atime -1 #1天內(nèi)訪問(wèn)過(guò)的文件
find /home/admin -ctime -1 #1天內(nèi)狀態(tài)改變過(guò)的文件
find /home/admin -mtime -1 #1天內(nèi)修改過(guò)的文件
find /home/admin -amin -1 #1分鐘內(nèi)訪問(wèn)過(guò)的文件
find /home/admin -cmin -1 #1分鐘內(nèi)狀態(tài)改變過(guò)的文件
find /home/admin -mmin -1 #1分鐘內(nèi)修改過(guò)的文件
top
ps -ef | grep java
top -H -p pid #獲得線程10進(jìn)制轉(zhuǎn)16進(jìn)制
netstat
netstat -nat|awk '{print $6}'|sort|uniq -c|sort -rn #查看當(dāng)前連接,注意close_wait偏高的情況
btrace & greys
sc -df xxx #輸出當(dāng)前類的詳情,包括源碼位置和classloader結(jié)構(gòu)
trace class method #打印出當(dāng)前方法調(diào)用的耗時(shí)情況
系統(tǒng)異常排查流程
常見的系統(tǒng)異常現(xiàn)象包括: CPU 占用率過(guò)高、CPU上下文切換頻率次數(shù)較高、磁盤滿了、磁盤 I/O 過(guò)于頻繁、網(wǎng)絡(luò)流量異常(連接數(shù)過(guò)多)、系統(tǒng)可用內(nèi)存長(zhǎng)期處于較低值(導(dǎo)致 oom killer)等等。

image
業(yè)務(wù)應(yīng)用排查流程
常見的業(yè)務(wù)服務(wù)異?,F(xiàn)象包括:
PV量過(guò)高、服務(wù)調(diào)用耗時(shí)異常、線程死鎖、多線程并發(fā)問(wèn)題、頻繁進(jìn)行 Full GC、異常安全攻擊掃描等。

image
GC的JVM參數(shù)
-XX:+PrintGCDetails -XX:+PrintGCDateStamps`
-Xloggc:/usr/local/gc/gc.log -XX:+UseConcMarkSweepGC
GC日志分析:MAT、 http://gceasy.io/