특정 쉘의 인터넷 대역폭 사용 제한


21

하나의 쉘에서 리눅스를 업데이트하고 싶지만 기본적으로 업데이터의 wget 또는 axel은 모든 대역폭을 사용합니다.

이 쉘에서 속도를 어떻게 제한 할 수 있습니까?

다른 쉘이 공평하게 공유하고 해당 쉘의 모든 것을 제한하기를 원합니다 – 프록시와 같은 것!

Zsh와 Arch Linux를 사용합니다.

이 질문은 프로세스 전체 또는 세션 전체 솔루션에 중점을 둡니다. 네트워크 대역폭을 제한하는 방법을 참조하십시오 . Linux의 시스템 전체 또는 컨테이너 전체 솔루션

답변:


22

사용자 공간 대역폭 셰이퍼 를 조금씩 살펴보십시오 . 다음과 같이 세속으로 쉘을 시작하고 속도를 지정하십시오.

trickle -d 100 zsh

이 셸 내에서 시작된 모든 프로그램의 다운로드 속도를 100KB / s로 제한하려고합니다.

물방울이 사용함에 따라 LD_PRELOAD정적 링크 된 프로그램에서는 작동하지 않지만 대부분의 프로그램에서는 문제가되지 않습니다.


SOCK_STREAMS 소켓으로 제한되므로 UDP 트래픽에 영향을 미치지 않습니다.
Stéphane Chazelas

5

http://lartc.org/wondershaper/

우분투 / 데비안 리포지토리에 있습니다. 아마 다른 것도 있습니다. 단일 쉘뿐만 아니라 전체 시스템을 제한합니다. 그래도 직접 시도하지 마십시오


2

맨 페이지wget 는 다음 정보 제공합니다.

 --limit-rate=amount

다운로드 속도를 초당 바이트 수로 제한하십시오. 금액은 바이트, k 접미사로 킬로바이트 또는 m 접미사로 메가 바이트로 표시 될 수 있습니다. 예를 들어 --limit-rate = 20k는 검색 속도를 20KB / s로 제한합니다. Wget이 사용 가능한 전체 대역폭을 사용하지 않기를 원하는 경우에 유용합니다.


질문 업데이트 : 난 wget뿐만 아니라 모든 응용 프로그램 제한을 원합니다
Mohammad Efazati

@ Efazati : 일반적인 설정 방법을 모르겠습니다. 나는 wget과 apt-get에만 사용합니다.
Marco Daniel

바로 답변을 기다림, wory없는 사람을)
모하마드 Efazati
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.