nethogs

    有很多适用于Linux系统的开源网络监视工具。比如说,你可以用命令iftop来检查带宽使用情况。netstat用来查看接口统计报告,还有top监控系统当前运行进程。但是如果你想要找一个能够按进程实时统计网络带宽利用率的工具,那么NetHogs值得一看。

    NetHogs 是一个开源的命令行工具(类似于Linux的top命令),用来按进程或程序实时统计网络带宽使用率。

    来自NetHogs项目网站:

    本文为你介绍如何在Unix/Linux操作系统下如何安装和使用NetHogs按进程监控网络带宽使用率。

    1. -V : 打印版本。
    2. -h : 打印此帮助。
    3. -b : bughunt模式 - 暗示tracemode
    4. -d : 延迟更新刷新率(以秒为单位)。 默认值为1
    5. -v : 视图模式(0 = KB / s1 =总KB2 =总B3 =总MB)。 默认值为0
    6. -t : tracemode.
    7. -p : 煽动混乱模式(不推荐)。
    8. -s : 按发送列排序输出。
    9. device : 要监控的设备。 默认是所有接口启动和运行,不包括环回
    10. nethogs运行时,按:
    11. q:退出
    12. s:按SENT流量排序
    13. r:按RECEIVE流量排序
    14. m:在总(KBBMB)和KB / s模式之间切换

    其他参数和用法

    1. -d : 刷新间隔
    2. -t : trace模式
    3. -V : 版本

    以下是NetHogs的一些交互命令(键盘快捷键)

    • m : 修改单位
    • r : 按流量排序
    • s : 按发送流量排序
    • q : 退出命令提示符

    在RHEL、CentOS和Fedora下安装NetHogs

    要安装NetHogs,你必须要启用你所用Linux下的EPEL源。然后运行下面的yum命令下载安装NetHogs包。

    1. yum install nethogs

    在Ubuntu、Linux mint和Debian下安装NetHogs

    键入apt-get命令安装NetHogs包:

    在基于RedHat系统下键入如下命令启动NetHogs工具。

    1. nethogs
    1. $ sudo nethogs

    !nethogs

    Ubuntu 12.10 下的NetHogs预览

    正如上图所示,send列和received列显示的是按照每个进程的流量统计。总的收发数据带宽在最下方,而且可以用交互命令控制排序,下面将要讨论这些交互命令。

    以下就是NetHogs命令行的参数,用-d来添加刷新频率参数,device name 用来检测给定的某个或者某些设备的带宽(默认是eth0)。例如:设置5秒钟的刷新频率,键入如下命令即可:

    1. nethogs -d 5

    如果只用来监视设备(eth0)的网络带宽可以使用如下命令:

    1. nethogs eth0

      如果要同时监视eth0和eth1接口,使用以下命令即可:

      1. nethogs eth0 eth1