跳至主要內容

进程流量监控nethogs

zhengcog...大约 2 分钟linux进程管理

安装与配置nethogs

NetHogs是一个小的开源的流量监控工具。说起流量监控工具其实非常多,如:iftop、vnstat,这些都是统计和监控网卡的流量。而NetHogs的特点在于可以实时的监控每个进程的带宽占用情况,当我们的服务器的带宽大量占用或者其它的一些网络异常,我们可以通过NetHogs来查看是哪个进程或程序异常导致带宽被占用,从而解决带宽问题。

在大多数Linux发行版中都可以通过包管理器来进行Nethogs的安装

Ubuntu/Debian下安装

sudo apt-get install nethogs

ReadHat/CentOS下安装

yum -y install epel-release
yum install -y nethogs

源码编译安装

wget https://github.com/raboof/nethogs/archive/v0.8.7.tar.gz
tar -xvzf v0.8.7.tar.gz
cd nethogs-0.8.7/
sudo apt-get install libpcap-dev libncurses5-dev
make
sudo make install

安装完成之后通过如下命令启动nethogs

sudo nethogs interface

其中,interface指的是要监控的网络接口名称,例如eth0或wlan0等。如果不加任何参数直接执行nethogs命令,则会默认使用系统中的第一个网络接口。

Nethogs的默认界面只显示了进程名和对应的网络流量信息。如果我们想要显示更多的相关信息,可以通过加入不同的参数来进行相关配置。例如,我们可以使用-v参数来显示进程的PID以及占用的内存信息:

sudo nethogs -v interface

使用

nethogs [-h] [-V] [-d] [-v] [-t] [-c] [-p] [-s] [device(s)]

具体使用

直接使用nethogs,默认检测网卡eth0的带宽,并且默认每秒刷新一次

nethogs

使用-d参数设置5s刷新一次

nethogs -d 5

指定监控的网卡

nethogs eth2

nethogs eth0 eth2

参数说明

-h :显示可用命令的用法

-V :打印版本信息

-d :延迟刷新率(延迟刷新时间),单位是秒,默认为每秒刷新一次

-v :选择视图模式

-p :混合模式下嗅探(不推荐)

-t :跟踪模式

-c :限制刷新的次数 (好像只有version 0.8.1-SNAPSHOT及以后版本才有)

-s :按发送的流量排序 (好像只有version 0.8.1-SNAPSHOT及以后版本才有)

device(s):监听的设备,默认是eth0(网卡设备名)

交互控制

m: 按m键,切换单位或显示占用速度;切换顺序是(KB/sec,KB,B,MB)

r : 按 r 键,按接收流量排序

s : 按 s 键 ,按发送流量排序

q : 按 q 键退出

扩展使用

将nethogs监控进程的信息输出重定向到日志文件中

nethogs -c 1 -t > test.log
上次编辑于:
贡献者: Hyman
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.5