向 LSF 提交长命令的最佳实践

Best practice for submitting long commands to LSF

我正在使用 LSF 中的 bsub 将作业提交到集群。我的命令调用第三方软件并包含一长串文件以及其他参数(大约 8000 个字符)。

直接提交这么长的命令是否安全,或者它们会被截断吗?我应该将命令保存到文件然后调用 bsub sh command.sh?

提交如此长的命令的最佳做法是什么。

谢谢

LSF(据我所知)没有特殊限制,运行可以完全覆盖整个命令行。但是,您可能需要考虑以下几点:

  1. shell 您 运行 中的 bsub 命令可能会对您可以提交的命令的总长度施加限制。这通常由 OS 限制控制,互联网上有很多关于它的问题。 Here is one example 其中显示了几种确定系统限制的方法。如果链接断开,那里的最佳答案建议 xargs --show-limits 而另一种方法是检查 getconf ARG_MAX
  2. 接受字符串作为输入的某些 bsub 选项可能对可以传递给它们的字符串的长度有限制。例如 -R 选项可以接受 512 个字符的字符串——在大多数情况下,我相信如果参数太长,LSF 将拒绝该工作(但我不能确定是否所有的情况都是这样)他们)。