프로세스가 시작된 후 프로세스의 네트워크 처리량을 제한하는 유틸리티가 있습니까? 간단한 예 : 사용자는 scp를 사용하여 모든 업로드 대역폭을 사용하며 전송 속도를 제한하거나 전송 우선 순위를 낮추고 싶습니다.
나는 그것을 달성하기 위해 iptables / tc 또는 pf의 조합을 사용할 수 있다고 생각하지만 "one-shot"도구가 있는지 궁금합니다.
프로세스가 시작된 후 프로세스의 네트워크 처리량을 제한하는 유틸리티가 있습니까? 간단한 예 : 사용자는 scp를 사용하여 모든 업로드 대역폭을 사용하며 전송 속도를 제한하거나 전송 우선 순위를 낮추고 싶습니다.
나는 그것을 달성하기 위해 iptables / tc 또는 pf의 조합을 사용할 수 있다고 생각하지만 "one-shot"도구가 있는지 궁금합니다.
답변:
불행히도 FreeBSD에는 그러한 해결책이 없습니다. dummynet / ipfw 또는 altq / pf와 같은 많은 솔루션이 있지만 다른 패턴을 기반으로 네트워크 사용량을 제한하는 데 사용되지만 pid는 아닙니다.
리눅스에는 사용자별로 네트워크 사용을 제한하는 방법이 있습니다 :
iptables -t mangle -A OUTPUT -p tcp -m owner --uid-owner test -j MARK --set-mark 1
pid를 기반으로 네트워크 사용률을 제한하는 솔루션이 없다고 생각합니다.
프로세스가 사용중인 네트워크 포트를 가져 오는 프로세스. 사용중인 포트를 알고 있으면 IPTABLES 규칙을 사용하여 이러한 포트를 제한 할 수 있습니다. 이 기사는 http://linux-ip.net/articles/Traffic-Control-HOWTO/ http://blog.edseek.com/~jasonb/articles/traffic_shaping/ http : // wikis에 대한 더 나은 아이디어를 제공합니다 . sun.com/pages/viewpage.action?pageId=49906332
결정적으로 프로세스를 +20으로 낮추면 시스템에서 실행되는 다른 작업의 우선 순위가 높아지고 작업이 덜 자주 예약되므로 버퍼 또는 프로세스 패킷을 채우기가 더 어려워 TCP가 발생합니다. 조절. 산발적이지만 충분히 도움이 될 수 있습니다.
# renice 20 -p $pid