linux 利用nethogs查看某進程的網卡流量

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

每一個人都應是守望者,守望咱們的心智,咱們的理想,以防它在生活中不知不覺地墜落、被操控和被本身遺忘。。。
相關文章
相關標籤/搜索