2010-04-28 22:55:18 +0000 2010-04-28 22:55:18 +0000
86
86

Как ограничить пропускную способность программ на Windows?

Существует ли в Windows такая техника, которая может выборочно ограничивать пропускную способность работающего процесса?

Ответы (4)

22
22
22
2012-02-18 20:40:44 +0000

Я использую Net Limiter , у которого есть бесплатная версия, но, к сожалению, вам придется заплатить за функцию ограничения .

NetLimiter - это наилучшее средство контроля и мониторинга интернет-трафика, разработанное для Windows. С помощью NetLimiter вы можете установить ограничения скорости загрузки/загрузки приложений или даже одного соединения и контролировать их интернет-трафик.

Наряду с этой уникальной функцией NetLimiter предлагает полный набор инструментов для статистики интернет-трафика. Он включает в себя измерение трафика в реальном времени и долгосрочную статистику интернет-трафика для каждого приложения

.

9
9
9
2015-09-10 18:35:38 +0000

Есть веские основания рассматривать подход “маршрутизатор с выходом в Интернет” для управления сетью в целом - однако, поскольку изначальный вопрос был специфическим, и пользователь вполне может быть единственным компьютером в сети, то есть второстепенным. NetBalancer

NetBalancer


В одном из других верхних ответов, на некоторое время я протестировал NetBalancer . Он действительно хорошо работает - и его легко настроить. NetBalancer

доступен для покупки на их веб-странице примерно за 50 долларов. Пробная/бесплатная версия позволяет отслеживать соединения - но не позволяет дросселировать.

NetLimiter


Альтернативой является NetLimiter . Он имеет бесплатный пробный период - но начинается с ~$20 для версии Lite или ~$30 для версии Pro. NetLimiter является проверенным приложением для многих системных администраторов.

По окончании пробного периода NetLimiter, пока вы не купите лицензию, становится инструментом только для мониторинга - и больше не поддерживает дросселирование. Это все еще может быть полезно - но не для этого случая использования.

Применение маршрутизатора (с объяснением, почему это не лучший подход к этому случаю применения).


Хотя использование умного/высоконастраиваемого маршрутизатора обычно является лучшим подходом к управлению сетью wholistic, несоответствие между этим и оригинальным вопросом не объясняется в ответе @ZaB. Первоначальный вопрос касается конкретно процесса, который маршрутизатор не имеет возможности надежно идентифицировать.

Единственная вариация, которая близка к полезной с этой точки зрения, это когда приложение общается только по определенному каналу или типу трафика, который легко может быть идентифицирован маршрутизатором. Ниже приведен пример загрузки Origin советника:

Origin в настоящее время использует Akamai. Обычно я устанавливаю автоматическую загрузку/обновление в любое время - но я бы предпочел, чтобы она не использовала всю пропускную способность линии, пока я занят другими более важными делами. Происхождение происходит очень плохо в это сортировка из вещи , таким образом, он не поддерживает графики загрузки или дросселирование загрузки. В настоящее время мой рабочий стол скачивает игру, используя сервер “a1750.d.akamai.net”. Маршрутизатор MikroTik (пример умного маршрутизатора) может обратить внимание на то, что это DNS имя было использовано (оно будет находиться в DNS кэше с IP-адресом) и может быть временно настроено на добавление IP-адреса сервера-получателя в “список адресов”. Весь трафик в/из списка адресов может быть добавлен в дросселируемую очередь, таким образом, технически, дросселируя одно приложение.

Однако вышеприведенный подход наивен. Советник может в any время изменить имя сервера, используемый протокол или другой несвязанный сервис, использующий инфраструктуру Akamai, может быть непреднамеренно дросселирован. Теперь мое блестящее новое правило стало бесполезным и нарушено.

3
3
3
2018-11-18 10:38:36 +0000

Вы можете использовать групповую политику Windows для регулирования пропускной способности любого процесса. Перейдите к:

  • Меню Пуск > Запустить > gpedit.msc
  • Конфигурация компьютера/пользователя (выберите тот или иной) > Настройки Windows > Политика на основе QoS

Здесь вы можете увидеть текущие политики и создать новые:

  • Либо щелкните правой кнопкой мыши “QoS, основанный на политике”, либо перейдите в “Действие” > Создать новую политику…
  • Затем следуйте указаниям мастера, чтобы создать новую политику дросселирования.

Мастер позволяет вам создать политику дросселирования для любого из них:

  • Все на вашем компьютере
  • Специфические процессы
  • Специфические веб-сайты (только для приложений, использующих протоколы HTTP)

И ваши политики могут быть отфильтрованы:

  • TCP или UDP протоколы
  • Source/destination IP
  • Порты источника/назначения

Вы также можете создать эти политики в Powershell запустив:

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

Хотя это может потребовать прав администратора, и кажется, что есть ошибка , где политики, созданные таким образом, не будут отображаться в графическом интерфейсе GUI.

2
2
2
2016-10-20 10:05:21 +0000

Это дросселирование моих бедных людей:

Оно не совсем ограничивает пропускную способность, оно скорее приостанавливает/восстанавливает процесс потребления полосы пропускания и, таким образом, освобождает часть полосы пропускания для других приложений. И это бесплатно!

Вам нужно PsSuspend.exe (я поместил этот файл на C:\tools\sysinternals) и пакетный файл (например) медленно. 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

Теперь откройте командную строку в качестве администратора и запустите пакетный файл с программой throttles в качестве параметра

slow.bat filetransfer.exe

(замените filetransfer.exe на имя вашей программы)

Если все готово, нажмите CTRL-C и отмените пакет.

Если программа все еще запущена, подумайте о возобновлении программы в случае, если вы прервали пакет во время приостановки программы:

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

(замените filetransfer.exe на имя вашей программы).

Похожие вопросы

3
19
3
10
7