1、常用命令
sar -n DEV #查看當天從零點到當前時間的網卡流量信息 sar -n DEV 1 10 #每秒顯示一次,共顯示10次 sar -n DEV -f /var/log/sa/saxx #查看xx日的網卡流量歷史 sar -q #查看歷史負載 sar -b #查看磁盤讀寫
DEV顯示網絡接口信息
另外,-n參數很有用,他有6個不同的開關:DEV | EDEV | NFS | NFSD | SOCK | ALL ,其代表的含義如下:
-
DEV顯示網絡接口信息。
-
EDEV顯示關於網絡錯誤的統計數據。
-
NFS統計活動的NFS客戶端的信息。
-
NFSD統計NFS服務器的信息
-
SOCK顯示套接字信息
-
ALL顯示所有5個開關
2、查看網卡歷史流量 #sar -n DEV
12:00:01 AM 時間
IFACE 表示設備名稱(LAN接口) rxpck/s 每秒接收數據包的數量 txpck/s 每秒發出數據包的數量 rxKB/s 每秒接收的數據量(字節數),單位KByte 1KB=1000byte=8000bit txKB/s 每秒發出的數據量(字節數),單位KByte
rxcmp/s:每秒鍾接收的壓縮數據包
txcmp/s:每秒鍾發送的壓縮數據包
rxmcst/s:每秒鍾接收的多播數據包
rxerr/s:每秒鍾接收的壞數據包
txerr/s:每秒鍾發送的壞數據包
coll/s:每秒沖突數
rxdrop/s:因為緩沖充滿,每秒鍾丟棄的已接收數據包數
txdrop/s:因為緩沖充滿,每秒鍾丟棄的已發送數據包數
txcarr/s:發送數據包時,每秒載波錯誤數
rxfram/s:每秒接收數據包的幀對齊錯誤數
rxfifo/s:接收的數據包每秒FIFO過速的錯誤數
txfifo/s:發送的數據包每秒FIFO過速的錯誤數
注意:
若服務器丟包非常嚴重,需要查看網卡流量是否異常。接收數據部分 rxpck大於4000,或者rxKB大於5000,則有可能被攻擊了,正常服務器網卡流量沒有這么大。除非自己在拷貝數據。
計算實際速度,取 rxkb或txkb的峰值,換算成KB,比如是686KByte,然后用686*8/1000=5.4MBit
Bytes 字節,縮寫為B 【電腦硬盤的最小單位】
bit 位, 1Byte=8bit 【網絡中最小的單位】
bps =bit per second 每秒位數
pps =package per second 每秒數據包 Mb ,Gb,10Gb
10Gb=10000Mb 【電腦中1GB=1024MB,網絡中1Gb=1000Mb】
寬帶10Mb,下載速度是1.25MB,10Mb=10Mbit 10Mbit/8=1.25Mbyte=1.25MB
3、查看某一天的網卡歷史流量
Redhat 或者 CentOS 發行版 sar 的庫文件一定是在 /var/log/sa/ 目錄下。ls /var/log/sa/ 發現下面兩種類型的文件,sa開頭加日期,sar開頭加日期,sa開頭的文件不能直接cat,只能用 sar -f 查看,sar開頭的可以用cat查看。
sar 命令會每個月循環使用,這個月sa01查看的是這個月1號的網卡流量,不能查看再之前的網卡流量。
#sar -f /var/log/sa/saDD DD表示數字,25表示25號,29表示29號
4、實時查看網卡的流量
sar –n DEV 1 2 # 命令后面1 2 意思是:每一秒鍾取1次值,取2次。
5、 cat /proc/net/dev
Linux 內核提供了一種通過 /proc 文件系統,在運行時訪問內核內部數據結構、改變內核設置的機制。proc文件系統是一個偽文件系統,它只存在內存當中,而不占用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供接口。用戶和應用程序可以通過proc得到系統的信息,並可以改變內核的某些參數。由於系統的信息,如進程,是動態改變的,所以用戶或應用程序讀取proc文件時,proc文件系統是動態從系統內核讀出所需信息並提交的。/proc文件系統中包含了很多目錄,其中/proc/net/dev 保存了網絡適配器及統計信息。
最左邊的表示接口的名字,Receive表示收包,Transmit表示發送包; bytes表示收發的字節數; packets表示收發正確的包量; errs表示收發錯誤的包量; drop表示收發丟棄的包量;