linux 查看某進程或程序的網卡流量(轉)


一、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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM