1. 程式人生 > >監控io效能、free、ps、檢視網路狀態和linux抓包工具

監控io效能、free、ps、檢視網路狀態和linux抓包工具

一、監控io效能 
1、iostat -x 磁碟使用 
這裡寫圖片描述
關注最後一列的數值,數值大說明磁碟有異常

2、iotop 磁碟使用 
安裝:yum install -y iotop 
這裡寫圖片描述

二、free命令 
檢視記憶體使用多少,剩餘多少請看第二行的資料。另外我們還可以加-m或-h 或者-g選項分別以M或G為單位列印記憶體使用狀況:

常用: free -h 
這裡寫圖片描述

三、ps命令 
ps檢視系統程序 
用法:ps aux 或 ps -elf 
這裡寫圖片描述

PID :程序的id,想終止某一個程序,則用 ‘kill 程序的pid 有時並不能殺掉,則需要加一個-9選項了 kill -9 程序pid

STAT :表示程序的狀態

D:不能中斷的程序(通常為IO)

R: 正在執行中的程序

S: 已經中斷的程序,通常情況下,系統中大部分程序都是這個狀態

T: 已經暫停的程序,如果我們正在執行一個命令,比如說 sleep 10 如果我們按一下ctrl -z 讓他暫停,那麼我們用ps檢視就會顯示T這個狀態

Z: 殭屍程序,殺不掉,打不死的垃圾程序,佔系統一小點資源,不過沒有關係。如果太多,就有問題了。一般不會出現。

<: 高優先順序程序

N: 低優先順序程序

L: 在記憶體中被鎖了記憶體分頁

s: 主程序

l: 多執行緒程序

+: 代表在前臺執行的程序

ps命令經常會連同管道符一起使用,用來檢視某個程序或者它的數量 
這裡寫圖片描述

四、netstat 檢視網路狀況

netstat命令用來列印網路連線狀況、系統所開放埠、路由表等資訊

常用的關於netstat的命令就是這個 netstat -lnp (列印當前系統啟動哪些埠)以及 netstat -an (列印網路連線狀況)

1、netstat -lnp 列印當前系統啟動哪些埠 
這裡寫圖片描述

2、netstat -an 列印網路連線狀況 
這裡寫圖片描述

如果你所管理的伺服器是一臺提供web服務(80埠)的伺服器,那麼你就可以使用 netstat -an |grep 80 檢視當前連線web服務的有哪些IP了。 
這裡寫圖片描述

分享一個小技巧:可以檢視所有狀態的數字 
netstat -an | awk ‘/^tcp/ {++sta[$NF]} END {for(key in sta) print key,”\t”,sta[key]}’ 
這裡寫圖片描述

關注:ESTABLISHED, 網站併發連線數,表示同一時刻有多少個客戶端連線到服務端進行通訊(1000以內可以接受)

五、linux抓包工具tcpdump 
有時候想看一下某個網絡卡上都有哪些資料包,尤其是當你初步判定你的伺服器上有流量攻擊。這時,使用抓包工具來抓一下資料包,就可以知道有哪些IP在攻擊你了

沒有tcpdump 這個命令,需要用 yum install -y tcpdump 命令去安裝一下

tcpdump -nn -i eno16777736

這裡寫圖片描述

需要關注: 
第三列和第四列顯示的資訊為哪一個IP+port在連線哪一個IP+port。-i 選項後面跟裝置名稱,如果你想抓eth1網絡卡的包,後面則要跟eth1.至於-nn選項的作用是讓第三列和第四列顯示成IP+埠號的形式,如果不加-nn則顯示的是主機名+服務名稱。

另外介紹一個實用的工具tshark和命令:

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”

指定網絡卡,80埠的web訪問情況 
類似web的訪問日誌

安裝命令:yum install -y wireshark