在我的 FreeBSD 机器上,作为我的 LAN 路由器,我尝试使用iftop
(来自ports/net-mgmt
)来监控带宽使用情况。该程序可以很好地监控服务器的 LAN 接口卡,但不能监控tun0
由创建的虚拟/环回接口ppp
。它确实显示了连接的互联网主机,但没有显示流量(上传和下载速率都显示0 秒)。主机列表会刷新新的主机(虽然有点慢),但除此之外什么也没有发生。top
显示 WCPU 使用率 > 100% iftop
。按Q
或Ctrl-C
退出需要很长时间(>10 秒)。
是什么原因造成的?有没有什么解决方案可以使我的界面正常iftop
工作?tun0
我对其他程序持开放态度(最好是 FreeBSD ports-collection 中包含的程序),但想要一个终端程序(ncurses 或类似程序),它iftop
通过将每个连接主机的传出+传入流量表示为 ASCII 图来表示。有这样的程序推荐吗?
答案1
我没有任何解决方案iftop
,但我找到了一些功能几乎相同的有用替代方案(尽管没有一个具有每个主机使用情况图)。虽然它似乎iftop
必须监控tun0
接口(否则它不会显示任何连接的主机),但其他一些(pktstat
例如)应该设置为监控底层物理 WAN 接口(em1
在我的情况下)。
替代方案包括(但几乎肯定不限于)这些程序,它们全部位于 FreeBSD 端口集合中,并且全部在终端中运行:
- pktstat(我发现这些参数很有用
pktstat -P -t -n -B -i em1
:) - bmon(显示每个接口随时间变化的使用情况图表)
- 交通节目
- bwm-ng
我发现这些本网站,其中有各个程序的截图。