Ograniczanie wykorzystania przepustowości Internetu przez określoną powłokę

21

Chcę zaktualizować mój system Linux w jednej powłoce, ale domyślnie wget lub axel w aktualizacji używają całej przepustowości.

Jak mogę ograniczyć prędkość w tej powłoce?

Chcę, aby inne powłoki miały sprawiedliwy udział i ograniczały wszystko w tej powłoce - coś w rodzaju proxy!

Używam Zsh i Arch Linux.

To pytanie dotyczy rozwiązań obejmujących cały proces lub sesję. Zobacz Jak ograniczyć przepustowość sieci? dla rozwiązań systemowych lub kontenerowych w systemie Linux.

Mohammad Efazati
źródło

Odpowiedzi:

22

Przyjrzeć się sączyć Strefa shaper przepustowość. Po prostu uruchom powłokę ze strumieniem i określ prędkość, np .:

trickle -d 100 zsh

który próbuje ograniczyć prędkość pobierania do 100 KB / s dla wszystkich programów uruchomionych w tej powłoce.

Podczas korzystania ze strumienia LD_PRELOADnie działa to w przypadku statycznie połączonych programów, ale nie stanowi to problemu w przypadku większości programów.

Ulrich Dangel
źródło
Pamiętaj, że jest ograniczony do gniazd SOCK_STREAMS, więc nie wpłynie na przykład na ruch UDP.
Stéphane Chazelas
5

http://lartc.org/wondershaper/

Znajduje się w repozytoriach Ubuntu / Debian, prawdopodobnie także w innych. Ogranicza nie tylko jedną powłokę, ale całą maszynę. Nigdy sam tego nie próbowałem

jippie
źródło
2

Strona podręcznika dlawget udostępnia następujące informacje:

 --limit-rate=amount

Ogranicz prędkość pobierania do liczby bajtów na sekundę. Kwota może być wyrażona w bajtach, kilobajtach z sufiksem k lub megabajtach z sufiksem m. Na przykład --limit-rate = 20k ograniczy szybkość pobierania do 20 KB / s. Jest to przydatne, gdy z jakiegokolwiek powodu nie chcesz, aby Wget wykorzystywał całą dostępną przepustowość.

Marco Daniel
źródło
pytanie o aktualizację: chcę, aby wszystkie aplikacje były ograniczone, nie tylko wget
Mohammad Efazati
@Efazati: Przepraszam, nie wiem jak to ogólnie ustawić. Używam go tylko do wget i apt-get.
Marco Daniel
nie przejmuj się człowiekiem, tylko oczekując odpowiedzi;)
Mohammad Efazati