Отрегулируйте скорость загрузки wget или завихрения при загрузке

Некоторые Менеджеры окон имеют большую настраиваемость, чтобы сделать материал как это, но намного более свежие включая метагород и compiz потеряли этот вид настройки. Я раньше использовал fvwm, чтобы сделать материал как этот. Более простой независимый подход WM должен был бы попытаться повторно присвоить фокус назад правильному окну. Посмотрите на xdotool http://www.semicomplete.com/projects/xdotool/xdotool. Это должно быть доступно в Вашем репозитории дистрибутива. Это может, среди прочего, присвоить фокус определенному Windows. Я принимаю Ваше выполнение сценария от Терминала, что Вы не хотите освобождать фокус. Если так, необходимо смочь использовать $WINDOWID, чтобы получить идентификатор Окна для терминала и использовать xdotool в конце сценария для перефокусировки Терминала.

100
23.05.2012, 17:33
3 ответа

Да и wget и вихревая поддержка, ограничивающая Ваш уровень загрузки. Обе опции непосредственно упоминаются в странице справочника.

завихрение

   --limit-rate <speed>
          Specify the maximum transfer rate you want curl to use. 
           This feature is useful  if you  have a limited pipe and 
           you'd like your transfer not to use your entire bandwidth.

          The given speed is measured in bytes/second, unless a suffix 
          is appended.  Appending  'k'  or 'K' will count the number
          as kilobytes, 'm' or M' makes it megabytes, while 'g' or 'G' 
          makes it gigabytes. Examples: 200K, 3m and 1G.

Например: curl --limit-rate 423K

wget

   --limit-rate=amount
       Limit the download speed to amount bytes per second.  Amount may
       be expressed in bytes, kilobytes with the k suffix, or 
       megabytes with the m suffix.  For example, --limit-rate=20k will limit 
       the retrieval rate to 20KB/s.  This is useful when, for
       whatever reason, you don't want Wget to consume 
       the entire available bandwidth.

Например: wget --limit-rate=423k

135
27.01.2020, 19:30
  • 1
    Действительно ли возможно изменить его динамично, в то время как загрузка происходит? неподвижность –  Gautam 23.05.2012, 17:34
  • 2
    @GautamK No как ни один wget ни curl интерактивные программы. –  Ulrich Dangel 23.05.2012, 18:28
  • 3
    @GautamK Для одного большого файла, если сервер принимает его, можно уничтожить wget или curl процесс и резюме с wget -c или curl -C. Если действительно необходимо реконфигурировать рабочий процесс, используйте струйку с демоном — но установка является немного сложной. С другой стороны, изучите формирование трафика — снова, установка, если сложный. –  Gilles 'SO- stop being evil' 24.05.2012, 02:08

Возможно ограничить скорость трафика с помощью tc и netem инструменты, но это ограничит уровень для сетевого интерфейса компьютера. Я предполагаю, что Вы используете только wget или curl и никакое другое приложение не обменивается трафиком через сетевой интерфейс.

tc Маркерный фильтр блока (TBF) использования для управления уровнем.

Один пример TBF был бы следующим образом (касательно http://www.lartc.org/manpages/tc-tbf.html):

Для присоединения TBF с длительным максимальным уровнем 0.5mbit/s, peakrate 1.0mbit/s, 5-килобайтного буфера, с пределом размера очереди перед блоком, вычисленным так, TBF вызывает самое большее 70 мс задержки, с идеальным peakrate поведением, проблемой:

# tc qdisc add dev eth0 root tbf rate 0.5mbit \ burst 5kb latency 70ms peakrate 1mbit \ minburst 1540

Другой пример использования tc и netem был бы следующим образом (найден в http://www.linuxfoundation.org/collaborate/workgroups/networking/netem):

Нет никакого управления уровнем, встроенного к дисциплине netem, вместо этого используйте одну из других дисциплин, которая действительно делает управление уровнем. В этом примере мы используем Маркерный фильтр блока (TBF) для ограничения вывода.

Добавить задержку каждого пакета идти/проникать интерфейс eth0

 # tc qdisc add dev eth0 root handle 1:0 netem delay 100ms

добавить скорость передачи данных в tbf, размере буфера пакетов и максимальном пакетном пределе

 # tc qdisc add dev eth0 parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000

Видеть список правил, присвоенных в tc для интерфейса eth0

 # tc -s qdisc ls dev eth0

Вывод вышеупомянутой команды был бы как ниже

 qdisc netem 1: limit 1000 delay 100.0ms
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )
 qdisc tbf 10: rate 256Kbit burst 1599b lat 26.6ms
  Sent 0 bytes 0 pkts (dropped 0, overlimits 0 )

Проверьте опции для буфера и предела, поскольку Вы могли бы найти необходимость в больших значениях по умолчанию, чем они (они находятся в байтах),

2
27.01.2020, 19:30

2 года спустя я брошу эту лакомый кусочек, в то время как wget и curl не являются интерактивными, как минимум wget (и возможно curl, но я не знаю наверняка) имеет переключатель -c (который означает продолжение с того места, где я остановился на скачивании ранее). Так что если вам нужно изменить скорость в середине загрузки и вы предположительно использовали переключатель -c с --limit-rate=x, то вы можете остановить wget и перезапустить его с другой скоростью, и она изменится.

4
27.01.2020, 19:30

Теги

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