Cara untuk membatasi bandwidth program di Windows?

85

Apakah ada teknik di Windows yang secara selektif dapat membatasi bandwidth dari proses yang berjalan?

James McMahon
sumber
3
Ada seluruh daftar aplikasi di sini yang dapat melakukan ini: alternativeto.net/software/netbalancer
bgmCoder
Pembaruan baru NetBalencers tidak membatasi program sesuai pernyataan mereka, percobaan hanya 7 hari, Anda hanya dapat membatasi 3 perangkat lunak (ketika itu memutuskan untuk bekerja) dan harganya 50 dolar kekalahan untuk layanan penuh. Jangan repot-repot.

Jawaban:

21

Saya menggunakan Net Limiter , yang memiliki versi gratis, tetapi sayangnya Anda harus membayar untuk fitur pembatasan .

NetLimiter adalah alat kontrol dan pemantauan lalu lintas internet utama yang dirancang untuk Windows. Anda dapat menggunakan NetLimiter untuk menetapkan unduhan / unggah batas kecepatan transfer untuk aplikasi atau bahkan koneksi tunggal dan memonitor lalu lintas internet mereka.

Seiring dengan fitur unik ini, Netlimiter menawarkan seperangkat alat statistik internet yang komprehensif. Ini mencakup pengukuran lalu lintas waktu nyata dan statistik lalu lintas internet per aplikasi jangka panjang

pengguna
sumber
8
Tidak, versi lite / pro, yang memungkinkan pembatasan lalu lintas, tidak gratis.
demonkoryu
Yang satu ini, sebaliknya , bekerja cukup baik pada Windows XP.
GSerg
NetLimiter 4 masih memiliki fungsi pembatas, dan ini dalam versi gratis, tetapi terbatas waktu.
Dan Atkinson
9

Ada alasan bagus untuk melihat pendekatan "router yang menghadap Internet" untuk mengelola jaringan secara keseluruhan - namun karena pertanyaan awal yang spesifik dan pengguna mungkin satu-satunya komputer di jaringan, itu adalah masalah kedua.

NetBalancer


Per salah satu jawaban teratas lainnya, untuk sementara waktu saya menguji NetBalancer . Ini bekerja sangat baik - dan mudah dikonfigurasi.

NetBalancer tersedia untuk pembelian di halaman web mereka dengan harga sekitar $ 50. Versi uji coba / gratis memungkinkan Anda untuk memonitor koneksi - tetapi tidak mengizinkan pelambatan.

NetLimiter


Alternatifnya adalah NetLimiter . Ini memiliki masa percobaan gratis - tetapi dimulai pada ~ $ 20 untuk versi Lite atau ~ $ 30 untuk versi Pro. NetLimiter adalah aplikasi masuk yang sudah dicoba dan diuji untuk banyak SysAdmins.

Ketika uji coba NetLimiter berakhir, sampai Anda membeli lisensi, itu menjadi alat pemantauan saja - dan tidak lagi mendukung pelambatan. Ini masih bisa bermanfaat - tetapi tidak untuk kasus penggunaan ini.

Menggunakan Router (dengan penjelasan mengapa ini bukan pendekatan yang baik untuk use case ini).


Meskipun menggunakan router pintar / sangat dapat dikonfigurasi biasanya merupakan pendekatan yang lebih baik untuk manajemen jaringan holistik , pemutusan antara itu dan pertanyaan awal tidak dijelaskan dalam jawaban @ ZaB. Pertanyaan asli secara khusus menanyakan tentang suatu proses - yang tidak bisa diidentifikasi oleh router dengan andal.

Satu variasi yang hampir berguna pada akhir ini adalah jika suatu aplikasi hanya berkomunikasi melalui saluran tertentu atau jenis lalu lintas yang dengan mudah dapat diidentifikasi oleh router. Contohnya adalah di bawah unduhan Asal EA:

Asal saat ini menggunakan Akamai. Biasanya saya mengatur unduhan / pembaruan otomatis untuk dijalankan kapan saja - tapi saya lebih suka itu tidak menggunakan semua kapasitas lini sementara saya sibuk melakukan hal-hal lain yang lebih penting. Asal terjadi sangat buruk di ini semacam dari hal, sehingga tidak mendukung jadwal unduhan atau unduhan pembatasan. Saat ini desktop saya sedang mengunduh game menggunakan server "a1750.d.akamai.net". Perute MikroTik (contoh dari perute cerdas) dapat mencatat bahwa nama DNS ini digunakan (akan berada dalam cache DNS dengan alamat IP) dan dapat dikonfigurasi sementara untuk menambahkan alamat IP server tujuan ke "daftar alamat" ". Semua lalu lintas ke / dari daftar alamat dapat ditambahkan ke antrian yang dibatasi dengan demikian, secara teknis, membatasi satu aplikasi.

Namun pendekatan di atas naif. EA kapan saja dapat mengubah nama server, protokol yang digunakan, atau layanan lain yang tidak terkait menggunakan infrastruktur Akamai dapat secara tidak sengaja diperketat. Sekarang aturan baru saya yang mengkilap tidak berguna dan rusak.

zTricky
sumber
Saya tidak yakin NetBalancer versi gratis masih memungkinkan pembatasan bandwidth. Mengutip halaman unduhan : "Versi yang tidak terdaftar hanya berfungsi sebagai aplikasi pemantauan, dan tidak mendukung prioritas atau aturan".
Gras Double
Mendesah. Penasaran sekarang tentang kapan itu berubah. Saya belum menginstal Origin sejak terakhir kali "menyegarkan" desktop game saya.
zaTricky
2

Ini adalah pelarian orang miskin saya:

Itu tidak benar-benar membatasi bandwidth, melainkan menunda / melanjutkan proses makan bandwidth dan dengan demikian membebaskan beberapa bandwidth untuk aplikasi lain. Dan gratis!

Anda perlu PsSuspend.exe (saya memasukkan file ini ke C: \ tools \ sysinternals) dan file batch (mis. Slow.bat:

@echo off
:START 
c:\tools\sysinternals\pssuspend.exe %1 >NUL: 2>&1
timeout /T 1 /NOBREAK >NUL:
c:\tools\sysinternals\pssuspend.exe -r %1 >NUL: 2>&1
timeout /T 1 /NOBREAK >NUL:
goto START

Sekarang buka baris perintah sebagai administrator dan jalankan file batch dengan program throttles sebagai parameter

slow.bat filetransfer.exe

(ganti filetransfer.exe dengan nama program Anda)

Jika sudah selesai, tekan CTRL-C dan batalkan batch.

Jika program masih berjalan, pertimbangkan untuk melanjutkan program jika Anda menghentikan batch ketika program ditangguhkan:

c:\tools\sysinternals\pssuspend.exe -r filetransfer.exe

(ganti filetransfer.exe dengan nama program Anda)

bebbo
sumber
Ini tidak benar-benar menyelesaikan masalah. Ini adalah satu proses perbaikan, Anda harus mengetahui proses yang memonopoli bandwidth, dan Anda harus tidak secara aktif menggunakannya.
Dan Atkinson
1
Jika Anda ingin "membatasi bandwidth proses yang sedang berjalan" (itu pertanyaannya), Anda tahu prosesnya, bukan? Dan proses saya yang memakan semua bandwidth terutama upload (membuat internet saya tidak dapat digunakan untuk hal lain) dan mungkin juga unduhan. "Pemblokiran orang miskin" saya berhasil: Saya dapat mengunggah dan masih menggunakan internet. Dan ya - itu bukan solusi yang sempurna. Ini untuk pria miskin - tidak membeli beberapa perangkat lunak.
bebbo
1
Saya harus setuju dengan @ dan-atkinson. NetBalancer adalah contoh yang baik di mana versi gratis akan bekerja dengan baik dalam kasus penggunaan yang sama seperti ini. Metode ini juga memiliki batasan: - Memerlukan langkah rumit / manual - Tidak ada cara untuk menentukan apa batas bandwidth yang seharusnya. - Metode ini hanya dapat menggeser "stabil" penggunaan yang tidak diinginkan menjadi puncak dan palung yang kurang diinginkan. - Aplikasi akan menjadi tidak responsif /
lamban
Geek dalam diri saya bertanya-tanya apakah ini sebenarnya bisa menjadi cara yang baik dan murah untuk menyelesaikan sesuatu, tetapi dengan batas waktu yang jauh lebih rendah seperti 50 ms. Jadi akan ada banyak penangguhan / pembatalan, tetapi pengalaman bisa lebih lancar. Saya tidak tahu bagaimana waktu dalam penskorsan sebenarnya memetakan ke tingkat unggah yang dikurangi, tetapi itu adalah sesuatu untuk bereksperimen dengan ...
pgr
1

Anda dapat menggunakan Kebijakan Grup Windows untuk membatasi bandwidth dari setiap proses. Pergi ke:

  • Mulai Menu> Jalankan> gpedit.msc
  • Konfigurasi Komputer / Pengguna (pilih satu atau yang lain)> Pengaturan Windows> QoS berbasis kebijakan

Di sini Anda dapat melihat kebijakan saat ini dan membuat yang baru dengan:

  • Entah mengklik "QoS berbasis kebijakan" atau pergi ke "Action"> Buat kebijakan baru ...
  • Kemudian ikuti wizard untuk membuat kebijakan pelambatan baru.

Panduan memungkinkan Anda membuat kebijakan untuk membatasi bandwidth untuk:

  • Semua yang ada di komputer Anda
  • Proses spesifik
  • Situs web tertentu (hanya untuk aplikasi yang menggunakan protokol HTTP)

Dan kebijakan Anda kemudian dapat difilter berdasarkan:

  • Protokol TCP atau UDP
  • IP sumber / tujuan
  • Port sumber / tujuan

Anda juga dapat membuat kebijakan ini di Powershell dengan menjalankan:

New-NetQosPolicy -Name "FTP" -AppPathNameMatchCondition "ftp.exe" -ThrottleRateActionBitsPerSecond 1MB

Meskipun ini mungkin memerlukan hak administrator, dan tampaknya ada bug di mana kebijakan yang dibuat seperti ini tidak akan muncul di GUI.

Silveri
sumber