日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux性能检查命令总结

發布時間:2024/3/13 linux 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux性能检查命令总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

如果你的Linux服務器突然負載暴增,告警短信快發爆你的手機,如何在最短時間內找出Linux性能問題所在?

類別監控命令描述備注
內存瓶頸free查看內存使用?
?vmstat 3(間隔時間) 100(監控次數)查看swap in/out詳細定位是否存在性能瓶頸推薦使用
?sar -r 3和free命令類似,查看內存的使用情況,但是不包含swap的情況?
cpu瓶頸top -H按照cpu消耗高低進行排序?
?ps -Lp 進程號 cu查看某個進程的cpu消耗排序?
?cat /proc/cpuinfo |grep 'processor'|wc -l查看cpu核數?
?top查看cpu總體消耗,包括分項消耗如user,system,idle,nice等消耗?
?

top 然后shift+h:顯示java線程,然后shift+M:按照內存使用進行排序;shift+P:按照cpu時間排序;shift+T:按照cpu累計使用時間排序

多核cpu,按“1”進入top視圖

??
?sar -u 3(間隔時間)查看cpu總體消耗占比?
?sar -q查看cpu load?
?top -b -n 1 | awk '{if (NR<=7)print;else if($8=="D"){print;count++}}END{print "Total status D:"count}'計算在cpu load里面的uninterruptedsleep的任務數量uninterruptedsleep的任務會被計入cpu load,如磁盤堵塞
網絡瓶頸cat /var/log/messages查看內核日志,查看是否丟包?
?watch more /proc/net/dev用于定位丟包,錯包情況,以便看網絡瓶頸重點關注drop(包被丟棄)和網絡包傳送的總量,不要超過網絡上限
?sar -n SOCK查看網絡流量?
?netstat -na|grep ESTABLISHED|wc -l?查看tcp連接成功狀態的數量此命令特別消耗cpu,不適合進行長時間監控數據收集
?netstat -na|awk'{print $6}'|sort |uniq -c |sort -nr看tcp各個狀態數量?
?netstat -i查看網絡錯誤?
?ss state ESTABLISHED| wc -l更高效地統計tcp連接狀態為ESTABLISHED的數量?
?cat /proc/net/snmp查看和分析240秒內網絡包量,流量,錯包,丟包用于計算重傳率tcpetr=RetransSegs/OutSegs
?ping ip測試網絡性能?
?traceroute ip查看路由經過的地址常用于定位網絡在各個路由區段的耗時
?dig 域名查看域名解析地址?
?dmesg查看系統內核日志?
磁盤瓶頸iostat -x -k -d 1詳細列出磁盤的讀寫情況當看到I/O等待時間所占CPU時間的比重很高的時候,首先要檢查的就是機器是否正在大量使用交換空間,同時關注iowait占比cpu的消耗是否很大,如果大說明磁盤存在大的瓶頸,同時關注await,表示磁盤的響應時間以便小于5ms
?iostat -x查看系統各個磁盤的讀寫性能重點關注await和iowait的cpu占比
?iotop查看哪個進程在大量讀取IO一般先通過iostat查看是否存在io瓶頸,再定位哪個進程在大量讀取IO
?df -hl查看磁盤剩余空間?
?du -sh查看磁盤使用了多少空間?
應用瓶頸ps -ef | grep java查看某個進程的id號?
?ps -ef | grep httpd| wc -l查看特定進程的數量?
?cat ***.log | grep ***Exception | wc -l統計日志文件中包含特定異常數量?
?jstack -l pid用于查看線程是否存在死鎖?
?awk'{print $8}' 2017-05-22-access_log|egrep '301|302'| wc -l統計log中301、302狀態碼的行數,$8表示第八列是狀態碼,可以根據實際情況更改常用于應用故障定位
?grep 'wholesaleProductDetailNew' cookie_log | awk '{if($10=="200")}'print}' | awk 'print $12' | more打印包含特定數據的12列數據?
?grep "2017:05:22" cookielog | awk '($12>0.3){print $12 "--" $8}' | sort > 目錄地址對apache或者nginx訪問log進行響應時間排序,$12表示cookie log中的12列表示響應時間用于排查是否是由于是某些訪問超長造成整體的RT變長
?grep -v 'HTTP/1.1" 200'取出非200響應碼的URL?
?pgm -A -f 應用集群名稱 "grep "'301 ' log文件地址 | wc -l查看整個集群的log中301狀態碼的數量?
?ps -efL | grep [PID] | wc -l查看某個進程創建的線程數?
?find / -type f -name "*.log" | xargs grep "ERROR"統計所有的log文件中,包含Error字符的行這個在排查問題過程中比較有用
?jstat -gc [pid]查看gc情況?
?jstat -gcnew [pid]查看young區的內存使用情況,包括MTT(最大交互次數就被交換到old區),TT是目前已經交換的次數?
?jstat -gcold查看old區的內存使用情況?
?jmap -J-d64 -dump:format=b,file=dump.bin PIDdump出內存快照-J-d64防止jmap導致虛擬機crash(jdk6有bug)
?-XX:+HeapDumpOnOutOfMemeryError在java啟動時加入,當出現內存溢出時,存儲內存快照?
?jmap -histo [pid]按照對象內存大小排序注意會導致full gc
?gcore [pid]導出完成的內存快照通常和jmap -permstat /opt/**/java gcore.bin 一起使用,將core dump轉換成heap dump
?-XX:HeapDumpPath=/home/logs -Xloggc:/home/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps在Java啟動參數中加入,打印gc日志?
?-server -Xms4000m -Xmx4000m -Xmn1500m -Xss256k -XX:PermSize=340m -XX:MaxPermSize=340m -XX:+UseConcMarkSweepGC調整JVM堆大小xss是棧大小
????

總結

以上是生活随笔為你收集整理的Linux性能检查命令总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。