Я хотел использовать инструмент параллельной работы GNU для ускорения передачи файлов rsync на несколько хостов, но похоже, что параллельный инструмент не делает его параллельным.Работы, выполняемые параллельными GNU, не кажутся параллельными
я ожидал time parallel "sleep 5; echo {}" ::: 1 2 3
брать не намного больше, чем на 5 секунд, но в реальном времени, это:
real 0m16.306s user 0m0.275s sys 0m0.108s
, который, как представляется, такой же, как for i in 1 2 3; sleep 5; done
т.е. не распараллеливание вообще. Что я делаю неправильно?
Эта команда запускает в 5.174s на моей машине. Я подозреваю, что здесь проблема с оборудованием, а не ошибка команды. Какая у вас настройка? Это выполняется в виртуальной системе? У вас есть как минимум 3 процессора для выполнения этого? – Samidamaru
Попробуйте использовать 'parallel -j 3' –
Да, он работает нормально на хосте с 12 процессорами. Хост, который я использовал, имеет 2 процессора, но я полагаю, что '' 'sleep''' не нуждается во всем процессоре для запуска. Когда я запускаю '' 'for i в 1 2 3; сделайте сон 5 и сделайте '' 'все задания закончите примерно через 5 секунд. – mitroo