有没有办法使用命令或计算eth0
Linux系统中每个接口的吞吐量(例如)?ip
ifconfig
我试过了bmon
,nload
——但是使用一些基本的 Linux 命令或脚本中的基本命令是否可以获得相同的结果?
答案1
其他答案提到/proc/net/dev
。下面是一个示例脚本,大致通过两次读取文件(约)间隔 1 秒,然后减去来计算“瞬时” Bps:
#!/bin/sh
[ "$#" -eq 1 ] || { printf 'usage: %s interface\n' "$0" >&2; exit 1; }
getstats () {
grep "$1": /proc/net/dev
}
{ getstats "$1"; sleep 1; getstats "$1"; } \
| awk '{rcv=$2-rcv; trnsmt=$10-trnsmt} END {print rcv" "trnsmt}'
使用示例(假设脚本保存为./showband
):
$ ./showband eth0 # the result appears after about 1 second
1272439 535768
$
数字是incoming_bytes_per_second outgoing_bytes_per_second
。
在 Debian 9 上测试。
答案2
您可以使用以下内容/proc/net/dev
:
- 每个接口一行
- 第一行是标题,解释了列的含义
答案3
为什么不使用iftop
?
sudo yum install iftop
sudo iftop -i eth0