嗯,最近在检测系统程序对流量的使用,找到nethogs,这是一个针对进程进行流量监控的工具,可以根据监控结果快速的定位是哪个进程在占用你的带宽,可以使用交互界面,也可以将输出重定向至日志文件进行监控分析。哈哈哈,反正我是觉得很方便啦~
1. nethogs的安装
看到有很多用yum或者下载tar包的,其实直接用apt-get就可以的
sudo apt-get install nethogs
2. nethogs命令详解
nethogs [-h] [-V] [-d] [-v] [-t] [-c] [-p] [-s] [device(s)]
这大概就是它的使用格式,有时候是需要获得root权限的,然后记录一下它的各个参数使用:
Options
-h 显示帮助
-V 显示版本信息
-d 设置刷新频率
-v 选择显示的模式
-p 某种嗅探模式,man nethogs里注明:不推荐使用
-t 追踪方式
-c 设置刷新次数
-s 排序方式设置
以下是交互界面的命令
INTERACTIVE CONTROL
m 设置单位 (kb/s, kb, b, mb)
r 通过received排序
s 通过sent排序
q 退出交互程序
3.使用追踪模式
sudo nethogs -t -d 1 -c 300 >> nethogs.log
使用追踪模式将nethogs输出重定向至日志文件,共收集300次数据,每隔一秒刷新一次统计信息。
如果不使用-t,就会出现日志文件中只有最新的一组数据。
当然也可以使用grep过滤出想要的进程,或者tee选择是否是控制台输出等。感觉这个模式还是很实用的,可以用于事后分析。