概述Linux系统的开源网络监控工具有很多。例如,您可以使用命令iftop检查带宽使用情况。netstat用于查看接口统计报告,以及top监控系统当前运行的进程。但是如果你想找到一个可以实时统计进程网络带宽使用情况的工具,那么NetHogs值得一看。NetHogs是一个小型网络顶级工具,它不会像大多数工具那样降低每个协议或每个子网的速度,而是按进程对带宽进行分组。NetHogs不依赖于加载特定的内核模块。如果发生网络阻塞,可以启动NetHogs立即查看是哪个PID导致了这种情况。这样就很容易找出是哪个程序跑了,突然占用了你的带宽。简单的说就是可以通过nethogs查看linux下进程的流量。安装部署1.编译安装nethogs依赖包。centos默认的rpm仓库是没有nethogs包的,所以我们需要自己手动编译。Nethogs编译依赖于2个库。编译前需要安装#yuminstalllibpcaplibpcap-develgcc*ncurses*2。下载nethogs是因为0.8有bug(creatingsocketfailedwhileestablishinglocalIP-youareroot?),所以这里使用0.81版本#wget-chttps://github.com/raboof/nethogs/archive/v0.8.1.tar.gz3,编译安装#tar-xvfv0.8.1.tar.gz#cdnethogs-0.8.1/#make&&makeinstall#defaultinstallation最终路径为/usr/local/sbin/nethogs4.测试运行:#nethogsUsage1、命令行参数2、示例:示例1:设置5秒刷新一次,通过-d指定刷新频率#nethogs-d5Instance2:监控eth0网络带宽#nethogseth0示例3:同时监控eth0和eth1接口time#nethogseth0eth13,Interactivecommands:以下是NetHogs的一些交互命令(键盘快捷键)m:修改单位r:按流量排序s:按发送流量排序q:退出命令提示符。NetHogs命令行工具的完整参数列表可以参考NetHogs手册。使用方法是在终端输入mannethogs。
