1

在基于 Linux 的系统(特别是 Ubuntu Server 8.04)中,如何测量每个用户的下行带宽?理想情况下,我想要一种直接提供数据的方法,而不必运行另一个进程并解析其输出。我有一种通过为每个用户设置一个 iptables 过滤器并定期检查其计数器来测量每个用户上游带宽的技术,但这似乎不支持下游连接,我认为这是因为 iptables 在它们之前检查数据包被路由到一个进程。

[edit 20080916 153434 EST]“每个用户”是指系统上的文字帐户。也就是说,任何具有真实 POSIX UID 的帐户都拥有实际运行的进程。因此,对于 Ubuntu Server 8.04,测量值将包括rootwww-data、我自己的帐户等的值。

4

1 回答 1

1

我没有看到任何明显的方法来实现这一点,但我希望这将是你可以使用自定义ip_conntrack模块做的事情。您将在首次创建 conntrack 条目时捕获 uid,然后在两个方向上应用相同的 uid。

于 2008-09-16T19:39:12.887 回答