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.

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.


Pamiętaj, że jest ograniczony do gniazd SOCK_STREAMS, więc nie wpłynie na przykład na ruch UDP.
Stéphane Chazelas


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ść.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.