一、nethogs介紹
分享一個linux 下檢測系統進程占用帶寬情況的檢查。來自github上的開源工具。
它不依賴內核中的模塊。當我們的服務器網絡異常時,可以通過運行nethogs程序來檢測是那個程序占用了大量帶寬。節省了查找時間。
二、安裝方法
1.在epel 源中可以直接yum 安裝
yum install libpcap nethogs -y
2.源碼方式安裝
2.1 安裝c++ 環境
[root@SaltMaster ~]# yum install gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses*
2.2 下載編譯好的二進制文件
[root@SaltMaster ~]# git clone https://github.com/raboof/nethogs Initialized empty Git repository in /root/nethogs/.git/ remote: Counting objects: 1193, done. remote: Total 1193 (delta 0), reused 0 (delta 0), pack-reused 1193 Receiving objects: 100% (1193/1193), 1.22 MiB | 29 KiB/s, done. Resolving deltas: 100% (789/789), done.
2.3 編譯並安裝
[root@SaltMaster ~]# cd nethogs/ [root@SaltMaster nethogs]# make [root@SaltMaster nethogs]# make install
完成上面步驟就算安裝完成了。如果編譯失敗的話,大部分是缺少編譯環境。
3.使用方法
3.1 直接運行nethogs 就可以查看當前占用帶寬的進程
3.2 我們來測試 找出eth0 上占用大量帶寬的程序
nethogs 網卡設備
我們檢測 eth0,運行一下命令
[root@SaltMaster ~]# nethogs eth0
圖中第一行就是測試中的流量記錄,表示192.168.40.250這台客戶端去訪問我的80 端口所占用的帶寬。
在PID 那一列,可以使用 lsof -p pid 查看進程測試。
或者用lsof -i :端口號,來查看是哪些進程在占用。如查看80端口 lsof -i :80
http://www.cnblogs.com/hanyifeng/p/5439520.html