如何监控每个进程的带宽使用情况

如何监控每个进程的带宽使用情况

我最近在我的 DigitalOcean Droplet(Ubuntu)上安装了 vnstat。大约一个月后,我决定查看日志,令我惊讶的是,我看到“大量”带宽进出服务器。每天差不多有 50-100MB!对于这个 Droplet 来说,这已经很多了,因为它只通过 nginx 托管一个没有图像的静态页面。

我如何记录每个进程的带宽使用情况,以便找出导致这种情况的原因?我检查了我的 nginx 日志,几乎没有发送任何字节,所以一定是别的原因……

我遇到过 nethogs 之类的工具,但这些工具的问题是,与 vnstat 不同,它们只收集实时数据。理想情况下,我希望有类似 vnstat 的工具(每 5 分钟更新一次数据),但也能告诉我是哪个进程/端口/等等导致了这个问题。

答案1

您需要一个 Windows 机器来进行监控,但 SolarWinds 免费带宽分析工具将提取带宽信息和 NetFlow(如果您有一个支持它的路由器)。如果您想完成一些额外的工作,您可以安装用于 netflow 的 IPTables 模块(更多信息请见此处:https://serverfault.com/questions/306361/how-to-generate-netflow-data-in-linux) 将为您提供所连接的外部节点、每个节点的流量大小以及使用的协议。

相关内容