天天看點

linux 利用nethogs檢視某程序的網卡流量

一、nethogs介紹

  分享一個linux 下檢測系統程序占用帶寬情況的檢查。來自github上的開源工具。

  它不依賴核心中的子產品。當我們的伺服器網絡異常時,可以通過運作nethogs程式來檢測是那個程式占用了大量帶寬。節省了查找時間。

二、安裝方法

1.在epel 源中可以直接yum 安裝

yum install libpcap nethogs -y      

2.源碼方式安裝

  2.1 安裝c++ 環境  

[[email protected] ~]# yum install gcc-c++ libpcap-devel.x86_64 libpcap.x86_64 ncurses*      

  2.2 下載下傳編譯好的二進制檔案

[[email protected] ~]# 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 編譯并安裝

[[email protected] ~]# cd nethogs/

[[email protected] nethogs]# make
[[email protected] nethogs]# make install      

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

3.使用方法

3.1 直接運作nethogs 就可以檢視目前占用帶寬的程序

linux 利用nethogs檢視某程式的網卡流量

3.2 我們來測試 找出eth0 上占用大量帶寬的程式

  nethogs 網卡裝置

  我們檢測 eth0,運作一下指令

[[email protected] ~]# nethogs eth0      
linux 利用nethogs檢視某程式的網卡流量

 圖中第一行就是測試中的流量記錄,表示192.168.40.250這台用戶端去通路我的80 端口所占用的帶寬。

在PID 那一列,可以使用 lsof -p  pid 檢視程序測試。

或者用lsof -i :端口号,來檢視是哪些程序在占用。如檢視80端口  lsof -i :80

轉載于:https://www.cnblogs.com/hanyifeng/p/5439520.html

繼續閱讀