nethogs 查看每个进程的网络带宽使用情况
NetHogs是一个类似于Linux的top命令的开源的命令行工具,用来按进程或程序实时统计网络带宽使用率,它可以直观的显示每个进程占用的带宽。
1-安装:
yum install -y nethogs
2-使用
监控eth0网卡流量
nethogs eth0

3、按照MB流量格式显示模式显示
nethogs eth0 -v 3
4-每 5 秒记录一次流量,保存到
nethogs.log 文件中:# 监控 eth0 接口,每 5 秒记录一次,保存 12 次(约1分钟)后退出
sudo nethogs -t -d 5 -c 12 eth0 > nethogs_history.log
# 或者一直运行(后台),按 Ctrl+C 停止
sudo nethogs -t -d 10 > /var/log/nethogs.log
5- 配置系统日志服务
对于生产环境,建议将 nethogs 配置为服务,并通过 systemd 或 cron 定时执行,将结果自动写入系统日志。
crontab -e
添加一行(每小时的第 0 分钟执行一次,记录当时的流量峰值):
0 * * * * /usr/sbin/nethogs -c 1 -t > /var/log/nethogs_hourly.log 2>&1
6 . 历史数据查看技巧
当你拿到了保存的日志文件(例如通过方法 1 生成的),可以使用以下命令进行分析:
查看最大流量消耗者:
# 按接收流量排序(假设日志中第6列是接收流量)
sort -k6 -nr nethogs_history.log | head -10
实时监控并同时保存日志:
如果你希望在屏幕上实时查看的同时也把数据存下来,可以使用 tee 命令:
sudo nethogs -t | tee nethogs_live_and_history.log
7. 录制屏幕
如果你不仅想保存数据,还想保存整个操作过程(包括屏幕上的实时画面),可以使用 Linux 自带的 script 命令。
# 1. 开始录制,指定日志文件名
script nethogs_session.log
# 2. 运行 nethogs
sudo nethogs
# 3. 在这里你可以按 'm' 切换单位,按 'r' 排序等操作
# 4. 结束录制(按 Ctrl+D 或输入 exit)
exit
欢迎来撩 : 汇总all
