我想在运行通信密集型基准测试时检查网络接口卡的利用率。有人能告诉我可以使用哪个 unix/linux 命令来监控网络流量吗?
答案1
在 Unix 系统上,netstat 命令将显示一个或所有接口上的输入或输出字节数。在 OS X 中,以下命令将每 2 秒计算接口 en1 上的输入和输出字节数:
netstat -I en1 -w 2
答案2
$ cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo:2177834690 1139773238 0 0 0 0 0 0 2177834690 1139773238 0 0 0 0 0 0
bond0:3681835441 1226421522 0 0 0 0 0 0 944494243 1166445844 0 0 0 0 0 0
eth0:4102575683 1178937980 0 0 0 0 0 0 944490971 1166445811 0 0 0 0 0 0
eth1:3874227054 47483542 0 0 0 0 0 0 3272 33 0 0 0 0 0 0
eth2: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth3: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth4: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
eth5: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
如果您想要更详细的统计数据,“ethtool”或特定于驱动程序的实用程序将是您最好的选择。
答案3
你使用的是哪种 Linux - 这取决于它。如果你使用的是 Centos 或 ubuntu,那么你可以使用网络流量监控. 它显示各个连接和主机之间流动的数据量(接口方面)。
要安装该实用程序:
\# Centos (base repo)
$ yum install iptraf
\# fedora or centos (with epel)
$ yum install iptraf-ng -y
\# ubuntu or debian
$ sudo apt-get install iptraf iptraf-ng
运行该实用程序:
\# iptraf