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