限制已启动进程的网络吞吐量?(Linux/FreeBSD)

jbd*_*nis 11 linux bandwidth bsd process bandwidth-control

是否有任何实用程序可以限制进程启动后的网络吞吐量?简单示例:您注意到用户使用 scp 占用了您所有的上传带宽,并且您想限制速率或降低传输的优先级。

我想我可以使用 iptables/tc 或 pf 的组合来实现这一点,但我想知道是否有可用的“一次性”工具(例如带有 --pid 选项的涓流 ^^)?

Ist*_*van 3

不幸的是 FreeBSD 没有这样的解决方案。有许多解决方案,例如 dummynet/ipfw 或 altq/pf,用于根据不同模式而不是 pid 来限制网络使用。

在 Linux 上,有一种方法可以根据用户限制网络使用:

iptables -t mangle -A OUTPUT -p tcp -m owner --uid-owner test -j MARK --set-mark 1
Run Code Online (Sandbox Code Playgroud)

我认为没有解决方案可以根据pid限制网络利用率。

  • FreeBSD的ipfw也可以通过uid来匹配流量 (2认同)