【问题标题】:GNU parallel kills command in bash script on HPCGNU 并行终止 HPC 上 bash 脚本中的命令
【发布时间】:2021-05-27 15:00:21
【问题描述】:

我正在运行 GNU 并行运行 bash 脚本,但似乎 GNU 并行自动杀死了我的程序,我不知道为什么。当我单独运行内部脚本时它运行正常。

我想知道为什么会发生这种情况以及如何解决?

非常感谢您的帮助!

这是我的代码:

parallel --progress --joblog ${home}/data/hsc-admmt/Projects/log_a.sh -j 5 :::: a.sh

这是 GNU 并行输出末尾的消息

/scratch/eu82/bt0689/data/hsc-admmt/Projects/sim_causal_mantel_generate.sh: line 54: 3050285 Killed                  $home/data/hsc-admmt/Tools/mtg2 -plink plink_all${nsamp}${nsnp}_1 -simreal snp.lst1

【问题讨论】:

标签: parallel-processing hpc


【解决方案1】:

我刚遇到同样的问题,发现了这个可能的解释:

“有些作业需要大量内存,只有在有足够的可用内存时才能启动。使用 --memfree GNU parallel 可以检查是否有足够的可用内存。此外,如果可用内存低于大小的 50%,GNU 并行将终止最年轻的作业。被终止的作业将放回队列并稍后重试。” (来自https://www.gnu.org/software/parallel/parallel_tutorial.html)。

在我的情况下,被终止的工作没有恢复。我不确定这是否是您的问题的原因,但它可以解释我的问题,因为只有当我将脚本并行化超过 3 个作业时才会出现该错误。

【讨论】:

  • 您需要添加--retries X 来告诉 GNU Parallel 在放弃之前应该尝试多少次。
猜你喜欢
  • 2015-04-24
  • 2022-10-14
  • 2021-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-24
  • 1970-01-01
相关资源
最近更新 更多