>iostat命令被用於監視系統輸入輸出設備和CPU的使用狀況。它的特色是彙報磁盤活動統計狀況,同時也會彙報出CPU使用狀況。同vmstat同樣,iostat也有一個弱點,就是它不能對某個進程進行深刻分析,僅對系統的總體狀況進行分析。mysql
說明: util%:表示io等待佔比,正常狀況下該值和磁盤讀寫(r/w)成正比,若是該值很大,讀寫數值很小則說明磁盤存在問題,系統性能會受影響!ios
>iotop命令是一個用來監視磁盤I/O使用情況的top類工具(動態)。iotop具備與top類似的UI,其中包括PID、用戶、I/O、進程等相關信息。Linux下的IO統計工具如iostat,nmon等大多數是隻能統計到per設備的讀寫狀況,若是你想知道每一個進程是如何使用IO的就比較麻煩,使用iotop命令能夠很方便的查看。web
注: 在此關注‘IO>’這一列!sql
Ø 左右箭頭:改變排序方式,默認是按IO排序緩存
Ø r:改變排序順序。服務器
Ø o:只顯示有IO輸出的進程。網絡
Ø p:進程/線程的顯示方式的切換。多線程
Ø a:顯示累積使用量。socket
Ø q:退出。tcp
>free命令能夠顯示當前系統未使用的和已使用的內存數目,還能夠顯示被內核使用的內存緩衝區。
語法: free [options]
Options:
-b/k/m/g:分別以byte、KB、M、G爲單位顯示(默認以KB爲單位)
-h:已適當的單位顯示
-t:顯示內存總和
說明:
「total=used+free+buff/cache」
「available=free+buff/cache(空閒部分)」
buff(緩衝):當CPU向磁盤寫入數據時,因爲磁盤存儲速率低於CPU,因此CPU工做時先將寫好的數據存放在內存中,該部份內存即爲緩衝內存。
cache(緩存):當CPU從磁盤讀取數據時,因爲磁盤輸出速率低於CPU的讀取速度,因此磁盤的數據會預先存放在內存中,該部份內存即爲緩存內存。
>ps命令用於報告當前系統的進程狀態。能夠搭配kill指令隨時中斷、刪除沒必要要的程序。ps命令是最基本同時也是很是強大的進程查看命令,使用該命令能夠肯定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等,總之大部分信息都是能夠經過執行該命令獲得的。
語法: ps [options]
Options:
a:顯示現行終端機下的全部程序,包括其餘用戶的程序。
u:以用戶爲主的格式來顯示系統情況。
x:顯示全部程序,包括歷史進程。
-e:顯示全部進程(同a)
-f:顯示UID、PPIP、C與STIME欄
-l:顯示進程詳細信息
說明: STAT表示進程狀態。
² D:不能中斷的進程
² R:run狀態的進程
² S:sleep狀態的進程
² s:主進程
² T:暫停的進程
² Z:殭屍進程
² <:高優先級進程
² N:低優先級進程
² L:內存中被鎖定了內存分頁
² l:多線程進程
² +:前臺進程
>netstat命令用來打印Linux中網絡系統的狀態信息,可以讓你得知整個Linux系統的網絡狀況。
語法: netstat [options]
Options:
-a:=all 顯示全部連線中的socket
-l:=listening 顯示監控中的服務器的socket
-n:=numeric 直接使用IP地址
-p:=programs 顯示正在使用socket的程序識別碼和程序名稱
-t:=tcp 顯示tcp傳輸協議的鏈接情況
>ss命令用來顯示處於活動狀態的套接字信息。ss命令能夠用來獲取socket統計信息,它能夠顯示和netstat相似的內容。但ss的優點在於它可以顯示更多更詳細的有關TCP和鏈接狀態的信息,並且比netstat更快速更高效,缺點是不會顯示進程的名稱。
語法: ss [options]
Options:
-a:顯示全部套接字(socket)
-n:不解析服務器名稱,以數字方式顯示
>tcpdump命令是一款sniffer工具,它能夠打印全部通過網絡接口的數據包的頭信息,也可使用-w選項將數據包保存到文件中,方便之後分析。
語法: tcpdump [options]
Options:
-i:指定網卡名,使用指定的網絡送出數據包
-c:指定數量
-w:指定存放位置
-r:=read,從指定文件查看數據包數據
· tcpdump -nn -i ens33 (第一個n表示以數字形式顯示IP,若是不加該選項會顯示成主機名)
· tcpdump -nn ens33 port 22 (not port 22)指定端口爲22的(非22的)
· tcpdump -nn ens33 port 22 and host 192.168.8.1 指定多個條件(host:主機,後面跟主機名或IP)
· tcpdump -nn -i ens33 -c 10 -w /tmp/1.cap 指定抓包數量和存放位置
注: 1.cap內容沒法使用cat命令查看,可以使用tcpdump -r命令查看
說明: 包內內容爲使用tcpdump打包時的數據。
>該命令也是用於抓包的。
使用前須要安裝該工具‘wireshark’:
查看指定網卡80端口的1個web服務的訪問狀況(相似於web的訪問日誌):
[ 命令:tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri" ]
抓取mysql的查詢
注: 因無相關進程運行因此一無所得!
抓取指定類型的MySQL查詢
統計http的狀態
注: 這個命令,直到你ctrl + c 纔會顯示出結果!
tshark 增長時間標籤