通過Nethogs查看服務器網卡流量情況


 

在日常運維工作中,會碰到服務器帶寬飆升致使網站異常情況。作為運維人員,我們要能非常清楚地了解到服務器網卡的流量情況,觀察到網卡的流量是由哪些程序在占用着。

今天介紹一款linux下查看服務器網卡流量占用情況的工具:Nethogs,來自github上的開源工具。
它不依賴內核中的模塊。當我們的服務器網絡異常時,可以通過運行nethogs程序來檢測是那個程序占用了大量帶寬。節省了查找時間。

Nethogs安裝:

方法一:在epel源中可以直接yum安裝
[root@dev src]# yum install -y libpcap nethogs -y

方法二:源碼安裝
#安裝c++環境
[root@dev src]# yum install -y gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses*
[root@dev src]# git clone https://github.com/raboof/nethogs
[root@dev src]# cd nethogs/
[root@dev src]# make
[root@dev src]# make install

#完成上面步驟就算安裝完成了。如果編譯失敗的話,大部分是缺少編譯環境。

接下來就可以測試了:

命令:“nethogs 網卡設備”
檢測 em1網卡的流量占用情況(),運行一下命令

[root@dev src]# nethogs em1

圖中第一行就是em1網卡的流量記錄,表示em1網卡帶寬被mysql程序占用。
在PID那一列,可以使用 lsof -p pid 查看進程。
或者用“lsof -i:端口號”來查看是哪些進程在占用。
如查看mysql端口 lsof -i:3306

當一台服務器uptime命令查看負載很高的時候,可以通過:
top命令(按數字1可以查看到每顆CPU的使用情況;大寫P降序查看CPU使用率,大寫M降序查看內存使用率);
iostat命令(iostat 2 5,重點看下%idel剩余使用率)查看IO性能;
mpstat命令(mpstat 2 5,重點看下%idel剩余使用率)查看CPU性能;
htop命令(和top命令差不多,P、M分別表示降序查看CPU和內存使用率);
iftop命令(流量監控,可以看出哪些機器跟本機有連接);
還可以查看crontab有沒有定時任務在消耗資源~~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM