tail -300f shopbase.log #倒數300行並進入實時監聽文件寫入模式
$ grep forest f.txt #文件查找 $ grep forest f.txt cpf.txt #多文件查找 $ grep 'log' /home/admin -r -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 #上下匹配,平時用這個就妥了 $ cat f.txt | grep -c 'SHOPBASE'
$ awk '{print $4,$6}' f.txt $ awk '{print NR,$0}' f.txt cpf.txt $ awk '{print FNR,$0}' f.txt cpf.txt $ awk '{print FNR,FILENAME,$0}' f.txt cpf.txt $ awk '{print FILENAME,"NR="NR,"FNR="FNR,"$"NF"="$NF}' f.txt cpf.txt $ echo 1:2:3:4 | awk -F: '{print $1,$2,$3,$4}' $ awk '/ldb/ {print}' f.txt #匹配ldb $ awk '!/ldb/ {print}' f.txt #不匹配ldb $ awk '/ldb/ && /LISTEN/ {print}' f.txt #匹配ldb和LISTEN $ awk '$5 ~ /ldb/ {print}' f.txt #第五列匹配ldb
NR:NR表示從awk開始執行後,按照記錄分隔符讀取的數據次數,默認的記錄分隔符爲換行符,所以默認的就是讀取的數據行數,NR能夠理解爲Number of Record的縮寫。html
FNR:在awk處理多個輸入文件的時候,在處理完第一個文件後,NR並不會從1開始,而是繼續累加,所以就出現了FNR,每當處理一個新文件的時候,FNR就從1開始計數,FNR能夠理解爲File Number of Record。java
NF: NF表示目前的記錄被分割的字段的數目,NF能夠理解爲Number of Field。node
$ sudo -u admin find /home/admin /tmp /usr -name \*.log(多個目錄去找) $ find . -iname \*.txt(大小寫都匹配) $ find . -type d(當前目錄下的全部子目錄) $ find /usr -type l(當前目錄下全部的符號連接) $ find /usr -type l -name "z*" -ls(符號連接的詳細信息 eg:inode,目錄) $ find /home/admin -size +250000k(超過250000k的文件,固然+改爲-就是小於了) $ find /home/admin f -perm 777 -exec ls -l {} \; (按照權限查詢文件) $ find /home/admin -atime -1 1天內訪問過的文件 $ find /home/admin -ctime -1 1天內狀態改變過的文件 $ find /home/admin -mtime -1 1天內修改過的文件 $ find /home/admin -amin -1 1分鐘內訪問過的文件 $ find /home/admin -cmin -1 1分鐘內狀態改變過的文件 $ find /home/admin -mmin -1 1分鐘內修改過的文件
top除了看一些基本信息以外,剩下的就是配合來查詢vm的各類問題了
$ ps-ef | grepjava
$
top
-H -p pid
得到線程10進制轉16進制後jstack去抓看這個線程到底在幹啥 shell 10進制轉16進制輸出 printf "%x" 100
https://blog.csdn.net/lin443514407lin/article/details/59654218linux
https://www.cnblogs.com/wangchaolinux/p/9404253.htmlshell
查看當前鏈接,注意close_wait偏高的狀況,好比
netstat -nat|awk '{print $6}'|sort|uniq -c|sort -rn
-XX:+TraceClassLoading
結果形如[Loaded java.lang.invoke.MethodHandleImpl$Lazy from D:\programme\jdk\jdk8U74\jre\lib\rt.jar]
二、應用掛了輸出dump文件-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/logs/java.hprof
vm參數裏邊基本都有這個選項
tomcat
mvn dependency:tree > ~/dependency.txt 打出全部依賴 mvn dependency:tree -Dverbose -Dincludes=groupId:artifactId 只打出指定groupId和artifactId的依賴關係 -XX:+TraceClassLoading vm啓動腳本加入。在tomcat啓動腳本中可見加載類的詳細信息 -verbose vm啓動腳本加入。在tomcat啓動腳本中可見加載類的詳細信息