您的位置 首页 linux 运维

nethogs 查看每个进程的网络带宽使用情况

nethogs 查看每个进程的网络带宽使用情况

Linux流量分析工具 | nethogs-CSDN博客

 

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

白眉大叔

关于白眉大叔linux云计算: 白眉大叔

热门文章