經過Nethogs查看服務器網卡流量狀況

 

在平常運維工做中,會碰到服務器帶寬飆升導致網站異常狀況。做爲運維人員,咱們要能很是清楚地瞭解到服務器網卡的流量狀況,觀察到網卡的流量是由哪些程序在佔用着。mysql

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

Nethogs安裝:ios

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

方法二:源碼安裝
#安裝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 installgit

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

接下來就能夠測試了:sql

命令:「nethogs 網卡設備」
檢測 em1網卡的流量佔用狀況(),運行一下命令bash

[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有沒有定時任務在消耗資源~~~
相關文章
相關標籤/搜索