在CentOS或Ubuntu系统下,可以通过以下命令行方法查看本月已用出网流量:
方法一:使用 nethogs(按进程实时查看)
# 安装 nethogs
sudo yum install nethogs -y # CentOS
sudo apt-get install nethogs -y # Ubuntu
# 运行 nethogs 查看实时流量
sudo nethogs
方法二:使用 vnstat(需要安装和配置)
# 安装 vnstat
sudo yum install vnstat -y # CentOS
sudo apt-get install vnstat -y # Ubuntu
# 启动并启用 vnstat 服务
sudo systemctl start vnstat
sudo systemctl enable vnstat
# 初始化数据库(首次使用)
sudo vnstat -u -i eth0 # eth0 替换为你的网卡名
# 查看本月流量统计
vnstat -m
方法三:使用 iftop(实时监控)
# 安装 iftop
sudo yum install iftop -y # CentOS
sudo apt-get install iftop -y # Ubuntu
# 运行 iftop
sudo iftop -i eth0 # eth0 替换为你的网卡名
方法四:查看系统计数器的累计值
# 查看所有网卡的累计流量(单位:字节)
cat /sys/class/net/eth0/statistics/tx_bytes # 出网流量
cat /sys/class/net/eth0/statistics/rx_bytes # 入网流量
# 转换为 MB
echo "$(cat /sys/class/net/eth0/statistics/tx_bytes) / 1024 / 1024" | bc
方法五:使用 ip 命令
# 查看网卡统计信息
ip -s link show eth0
方法六:使用 sar(需要安装 sysstat)
# 安装 sysstat
sudo yum install sysstat -y # CentOS
sudo apt-get install sysstat -y # Ubuntu
# 查看网络统计
sar -n DEV 1 3 # 每秒刷新一次,共3次
推荐方案
- 长期统计:使用
vnstat,安装配置后可以自动记录每日/每月流量 - 实时监控:使用
nethogs或iftop - 快速查看:使用
/sys/class/net/下的计数器文件
注意事项
- 需要 root 权限或 sudo 执行
- 网卡名称可能不同(如 ens33、enp0s3 等),用
ip addr或ifconfig查看 - 计数器会在系统重启后重置,如需月度统计建议使用 vnstat
CLOUD技术笔记