1、nethogs介紹linux
分享一個linux 下檢測系統進程佔用帶寬狀況的檢查。來自github上的開源工具。c++
它不依賴內核中的模塊。當咱們的服務器網絡異常時,能夠經過運行nethogs程序來檢測是那個程序佔用了大量帶寬。節省了查找時間。git
2、安裝方法github
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 編譯並安裝code
[root@SaltMaster ~]# cd nethogs/ [root@SaltMaster nethogs]# make [root@SaltMaster nethogs]# make install
完成上面步驟就算安裝完成了。若是編譯失敗的話,大部分是缺乏編譯環境。blog
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