1

Я управляю многими устройствами, на которых мне нужно выполнять команды пакетного запуска, последовательно все работает нормально, но если я пытаюсь запустить их все параллельно, я получаю сетевые ошибки.

Я почти уверен, что с реальной сетью все в порядке (это выделенная гигабитная сеть, больше ничего не работает, есть 200 устройств, и отправляется только "sudo reboot", так что это вряд ли генерирует трафик).

Есть ли какие-то ограничения, присущие ssh или putty, о которых я должен знать? Я хотел бы работать быстрее, чем делать это последовательно, но я прекрасно справляюсь с запуском его партиями разумного размера, я просто предпочитаю устанавливать размер пакета, зная, откуда он поступает, а не случайным образом при тестировании.

В настоящее время я делаю это:

для /F% i в (MYHOSTLIST.txt) запустите plink -pw MYPASSWORD MYLOGIN @% i sudo reboot

Это приводит к большому количеству ошибок после появления ожидаемой 200-битной команды Windows, удаляя запуск, он работает просто отлично, но требует бесконечной перезагрузки устройств в последовательности.

1 ответ1

1

Вероятно, та же проблема, описанная здесь (включая решение): https://stackoverflow.com/questions/17472389/how-to-increase-the-maximum-number-of-child-processes-that-can-be-spawned-by -aw

Я бы, однако, не рекомендовал бы порождать так много процессов, скорее поставил бы параллелизм на отдельные устройства, используя

for /F %i in (MYHOSTLIST.txt) do plink -pw MYPASSWORD MYLOGIN@%i "nohup sudo reboot &>/dev/null &"

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

Другой вариант - использовать правильную операционную систему для управления этими устройствами Linux ;-)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .