NetHogs 进程网络流量监控

NetHogs 是一款按进程分组显示网络带宽使用情况的监控工具。与 iftop 按 IP/连接显示流量不同,NetHogs 直接告诉你哪个进程在消耗带宽。在搬瓦工 VPS 上,当你发现流量异常消耗或带宽被占满时,NetHogs 可以让你在几秒钟内找到罪魁祸首。搬瓦工每月流量有限,及时发现异常流量非常重要。

一、安装

# Ubuntu / Debian
apt update
apt install nethogs -y

# CentOS / RHEL
yum install nethogs -y

# 验证安装
nethogs -V

二、基本用法

# 监控默认网络接口
nethogs

# 指定网络接口
nethogs eth0

# 监控多个接口
nethogs eth0 eth1

# 设置刷新间隔(秒)
nethogs -d 2

# 不解析主机名(更快)
nethogs -v 0

三、交互操作

NetHogs 运行时支持以下快捷键:

  • m:切换显示单位(KB/s, KB, B, MB)
  • r:按接收流量排序
  • s:按发送流量排序
  • q:退出

四、输出说明

NetHogs 的输出包含以下列:

  • PID:进程 ID
  • USER:运行进程的用户
  • PROGRAM:程序名称和路径
  • DEV:网络接口
  • SENT:发送速率
  • RECEIVED:接收速率

五、批量模式(脚本集成)

# 批量模式输出(适合管道和日志记录)
nethogs -t eth0

# 批量模式,指定刷新间隔和次数
nethogs -t -d 5 -c 10 eth0

# 记录到日志文件
nethogs -t -d 10 eth0 > /var/log/nethogs.log 2>&1 &

# 解析批量输出
nethogs -t -d 5 -c 1 eth0 2>/dev/null | awk -F'/' '{
    if ($0 ~ /\//) print $0
}'

六、实际应用场景

6.1 流量异常排查

# 发现流量异常时,立即运行
nethogs eth0

# 如果发现某个进程消耗大量带宽,获取详细信息
# 记下 PID,然后查看进程详情
ps aux | grep PID
ls -l /proc/PID/exe
cat /proc/PID/cmdline

# 查看进程的网络连接
ss -tnp | grep PID
netstat -tnp | grep PID

6.2 流量监控告警脚本

#!/bin/bash
# 检测高流量进程并告警
THRESHOLD=1024  # KB/s
LOG="/var/log/nethogs-alert.log"

nethogs -t -d 10 -c 1 eth0 2>/dev/null | while IFS=$'\t' read -r PROG SENT RECV; do
    if [ -n "$SENT" ] && [ -n "$RECV" ]; then
        TOTAL=$(echo "$SENT + $RECV" | bc 2>/dev/null)
        if [ -n "$TOTAL" ] && (( $(echo "$TOTAL > $THRESHOLD" | bc -l 2>/dev/null) )); then
            echo "[$(date)] 高流量: $PROG 发送=${SENT}KB/s 接收=${RECV}KB/s" >> "$LOG"
        fi
    fi
done

6.3 搬瓦工流量管理

搬瓦工 VPS 每月有流量限制,合理监控流量使用非常重要:

# 查看当前月度流量使用(通过搬瓦工 API,使用 bwh81.net)
curl -s "https://api.64clouds.com/v1/getLiveServiceInfo?veid=YOUR_VEID&api_key=YOUR_KEY" | \
    jq '{used_gb: (.data_counter / 1073741824), total_gb: (.plan_monthly_data / 1073741824)}'

# 定期检查哪些进程消耗流量最多
nethogs -t -d 60 -c 1 eth0 2>/dev/null | sort -t$'\t' -k2 -rn | head -10

七、与其他网络监控工具对比

  • NetHogs vs iftop:NetHogs 按进程分组,iftop 按连接/IP 分组。两者互补使用效果更好。
  • NetHogs vs nload:nload 只显示接口总流量,不区分进程。
  • NetHogs vs bmon:bmon 专注于接口级别的带宽统计,不提供进程信息。
  • NetHogs vs ss/netstat:ss 显示连接状态,不显示实时流量速率。

八、常见问题

# 权限不足
# NetHogs 需要 root 权限
sudo nethogs

# 接口名称不确定
ip link show
# 或
ifconfig

# 无法捕获流量
# 确认 libpcap 已安装
apt install libpcap-dev -y

总结

NetHogs 是排查网络流量异常的利器,能够直接定位到消耗带宽的进程。在搬瓦工 VPS 上,由于每月流量有限,及时发现异常流量消耗尤为重要。建议配合 Iftop 网络流量监控 一起使用:先用 iftop 观察整体流量分布,再用 NetHogs 定位具体进程。选购搬瓦工 VPS 请参考全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 循环折扣。

关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工的方案、优惠和教程。我们不销售主机,不提供技术服务。

新手必读
搬瓦工优惠码

NODESEEK2026(优惠 6.77%)

购买时填入即可抵扣。