Лучший способ отправки длинных команд в LSF

Я отправляю задания в кластер, используя bsub в LSF. Моя команда вызывает стороннее программное обеспечение и содержит длинный список файлов вместе с другими аргументами (около 8000 символов).

Безопасно ли отправлять такие длинные команды напрямую или они будут усечены? Должен ли я сохранить команду в файл, а затем вызвать bsub sh command.sh?

Какова лучшая практика для подачи таких длинных команд.

Спасибо

1 ответ

Решение

В LSF нет особого ограничения (о котором я знаю), которое будет обрезать сразу всю командную строку. Однако есть несколько вещей, которые вы можете рассмотреть:

  1. Снаряд, которым вы управляете bsub команда in может накладывать ограничение на общую длину команды, которую вы можете отправить. Это часто контролируется лимитом ОС, есть много вопросов по этому поводу в интернете. Вот один пример, который показывает несколько способов определения ограничения в вашей системе. В случае неработающих ссылок, верхний ответ там рекомендует xargs --show-limits в то время как другой способ проверить getconf ARG_MAX
  2. Определенный bsub параметры, принимающие строки в качестве входных данных, могут иметь ограничения на длину строки, которая может быть передана им. Например, -R option может принимать строки из 512 символов - по большей части я полагаю, что LSF отклонит задание, если аргумент слишком длинный (но я не могу точно сказать, так ли это для всех них).
Другие вопросы по тегам