簡介
最近遇到了乙個問題,使用tcp通訊時,資料接收端有較大的時延。使用的是乙個傳送端,多個接收端的廣播模式。
加入了時間戳除錯,發現send傳送後,當資料量較大時,過了好幾秒rcv端才接收到。
一開始懷疑是客戶端處理資料較慢導致的,加入了多執行緒處理,依然無效。
而且觀察了rcv端的資料處理執行緒,cpu並不高。而且send端內存在一直增大,才懷疑是網路堵塞造成的。
為了驗證這個猜想,需要監控各個網絡卡的流量,於是這用了這個工具iftop
。
最後發現,果然是由於網路頻寬不足引起的阻塞。
這裡做一記錄。
iftop
命令用於檢視網路上的流量情況,包括實時速率、總流量、平均流量等,是一款實時流量監控工具。
在除錯網路通訊的程式中可能會用得上。
注意,iftop
命令不記錄歷史資料,無報表,且只能顯示從程式啟動到現在的總流量。它的執行需要root許可權。
關於linux的更多系統命令,請參考檢視linux系統核心、發行版、cpu、磁碟、記憶體、網路、埠使用資訊。
安裝以centos7下安裝為例。
命令列安裝:
yum install -y epel-release && yum install -y iftop
如果安裝源沒有找到這個包,那就只能原始碼安裝了。
原始碼安裝也很簡單,步驟如下:
安裝依賴包:yum -y install flex byacc libpcap ncurses ncurses-devel libpcap-devel
解壓:tar zxf iftop-1.0pre4.tar.gz
常規安裝:
cd iftop-1.0pre4
./configure
make -j4
make install # 必須是root
中間如果報錯,如:
configure: error: can't find pcap.h
you're not going to get very far without libpcap.
應該是依賴包安裝失敗了,重新安裝再試一下就好了。
使用直接執行iftop
即可啟動流量監控。如下圖所示:
其中:
可以看到,通過iftop可以很容易看到各個連線的流量使用情況。
引數介紹
在啟動iftop時,可以指定監控的網絡卡,預設為第一塊網絡卡:
iftop -i eth1
其他常用命令:
iftop -n # 直接顯示ip, 不進行dns反解析
iftop -n # 直接顯示連線埠編號, 不顯示服務名稱
iftop -f 192.168.1.0/24 or 192.168.1.0/255.255.255.0 # 顯示某個網段進出包流量
一般情況下,使用iftop -nn
啟動即可。
在進入iftop介面後,直接輸入以下引數進行調節控制:
我一般都是使用iftop -nn -i eth0
啟動,然後再輔助各種引數來調整。
擴充套件iftop使用比較簡單,通過各種引數也能很快找到自己想要的資料。
也有一些其他流量監控工具,如:
nload:檢視各個網路裝置的當前網路速率
iptraf-ng:可以輸出網絡卡的tcp、udp等各種資料,和各個網絡卡的實時網速
stat:用來替換vmstat、iostat、netstat、nfsstat和ifstat的全能系統資訊統計工具,支援資料實時重新整理,輸出直觀易懂
sar:system activity report
的縮寫,是一款全面的linux系統執行狀態統計和效能分析工具,可從磁碟io、cpu負載、記憶體使用等多個維度對系統活動進行報告
nethogs:檢視單個程序流量而設計的工具,按照程序進行頻寬分組
tcpdump:用來抓包,儲存的資料可以用wireshark
開啟和檢視
網路流量監控命令 iftop
二 iftop相關引數 常用的引數 i設定監測的網絡卡,如 iftop i eth1 b 以bytes為單位顯示流量 預設是bits 如 iftop b n使host資訊預設直接都顯示ip,如 iftop n n使埠資訊預設直接都顯示埠號,如 iftop n f顯示特定網段的進出流量,如 iftop...
網路流量監控工具 iftop
文章 再次本人只是作為筆記使用,不做其他用途。日常工作中用它來監控網絡卡的實時流量,可以指定網段 反向解析ip 顯示埠資訊等,我這裡是直接安裝 要是沒有epel源的話 安裝epel源 centos rhel 5 rpm uvh centos rhel 6 rpm uvh centos rhel 7 ...
網路流量監控工具 iftop
文章 再次本人只是作為筆記使用,不做其他用途。日常工作中用它來監控網絡卡的實時流量,可以指定網段 反向解析ip 顯示埠資訊等,我這裡是直接安裝 要是沒有epel源的話 安裝epel源 centos rhel 5 rpm uvh centos rhel 6 rpm uvh centos rhel 7 ...