Membatasi penggunaan bandwidth internet shell tertentu


21

Saya ingin memperbarui linux saya dalam satu shell tetapi secara default wget atau axel di updater menggunakan semua bandwidth.

Bagaimana saya bisa membatasi kecepatan di shell ini?

Saya ingin cangkang lain memiliki bagian yang adil, dan membatasi segala sesuatu di cangkang itu - sesuatu seperti proxy!

Saya menggunakan Zsh dan Arch Linux.

Pertanyaan ini berfokus pada solusi seluruh proses atau seluruh sesi. Lihat Bagaimana cara membatasi bandwidth jaringan? untuk solusi seluruh sistem atau kontainer di Linux.

Jawaban:


22

Lihatlah menetes pembentuk bandwidth userspace. Mulai saja shell Anda dengan tetesan dan tentukan kecepatannya, misalnya:

trickle -d 100 zsh

yang mencoba membatasi kecepatan unduhan hingga 100KB / s untuk semua program yang diluncurkan di dalam shell ini.

Karena trickle menggunakan LD_PRELOADini tidak akan bekerja dengan program-program terkait statis tetapi ini bukan masalah untuk sebagian besar program.


Perhatikan bahwa itu terbatas pada soket SOCK_STREAMS, jadi tidak akan memengaruhi lalu lintas UDP.
Stéphane Chazelas


2

The man page untukwget memberikan informasi berikut:

 --limit-rate=amount

Batasi kecepatan unduhan hingga jumlah byte per detik. Jumlah dapat dinyatakan dalam byte, kilobyte dengan sufiks k, atau megabita dengan sufiks m. Misalnya, --limit-rate = 20k akan membatasi laju pengambilan hingga 20KB / dtk. Ini berguna ketika, untuk alasan apa pun, Anda tidak ingin Wget mengkonsumsi seluruh bandwidth yang tersedia.


perbarui pertanyaan: saya ingin semua aplikasi terbatas, tidak hanya wget
Mohammad Efazati

@Efazati: Maaf saya tidak tahu cara mengaturnya secara umum. Saya menggunakannya hanya untuk wget dan apt-get.
Marco Daniel

jangan khawatir manusia, hanya mengusahakan jawaban;)
Mohammad Efazati
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.