sbatch: error: Batch job submission failed: Socket timed out on send/recv operation when running Snakemake
sbatch: error: Batch job submission failed: Socket timed out on send/recv operation when running Snakemake
我正在 运行在使用 slurm 的 HPC 上设置 snakemake 管道。流水线相当长,由大约 22 个步骤组成。 snakemake 在尝试提交作业时会定期遇到问题。这导致错误
sbatch: error: Batch job submission failed: Socket timed out on send/recv operation
Error submitting jobscript (exit code 1):
我 运行 通过带有以下 snakemake 调用的 sbatch 文件的管道
snakemake -j 999 -p --cluster-config cluster.json --cluster 'sbatch --account {cluster.account} --job-name {cluster.job-name} --ntasks-per-node {cluster.ntasks-per-node} --cpus-per-task {threads} --mem {cluster.mem} --partition {cluster.partition} --time {cluster.time} --mail-user {cluster.mail-user} --mail-type {cluster.mail-type} --error {cluster.error} --output {cluster.output}'
这不仅会产生 snakemake sbatch 作业的输出,还会产生 snakemake 创建的作业的输出。以上错误出现在sbatch文件的slurm.out中。
错误指示的特定作业步骤将 运行 成功并提供输出,但管道失败。作业步骤的日志显示作业 ID 运行 没有问题。我已经用谷歌搜索了这个错误,它似乎经常发生在 slurm 中,尤其是当调度程序处于高 IO 状态时,这表明这将是不可避免且经常发生的。我希望有人遇到过这个问题,并且可以提供解决方法的建议,这样整个管道就不会失败。
snakemake 有一个选项 --max-jobs-per-second
和 --max-status-checks-per-second
,默认参数为 10。也许尝试减少它们以减少调度程序的压力?另外,也许尝试减少 -j 999
?
我正在 运行在使用 slurm 的 HPC 上设置 snakemake 管道。流水线相当长,由大约 22 个步骤组成。 snakemake 在尝试提交作业时会定期遇到问题。这导致错误
sbatch: error: Batch job submission failed: Socket timed out on send/recv operation
Error submitting jobscript (exit code 1):
我 运行 通过带有以下 snakemake 调用的 sbatch 文件的管道
snakemake -j 999 -p --cluster-config cluster.json --cluster 'sbatch --account {cluster.account} --job-name {cluster.job-name} --ntasks-per-node {cluster.ntasks-per-node} --cpus-per-task {threads} --mem {cluster.mem} --partition {cluster.partition} --time {cluster.time} --mail-user {cluster.mail-user} --mail-type {cluster.mail-type} --error {cluster.error} --output {cluster.output}'
这不仅会产生 snakemake sbatch 作业的输出,还会产生 snakemake 创建的作业的输出。以上错误出现在sbatch文件的slurm.out中。
错误指示的特定作业步骤将 运行 成功并提供输出,但管道失败。作业步骤的日志显示作业 ID 运行 没有问题。我已经用谷歌搜索了这个错误,它似乎经常发生在 slurm 中,尤其是当调度程序处于高 IO 状态时,这表明这将是不可避免且经常发生的。我希望有人遇到过这个问题,并且可以提供解决方法的建议,这样整个管道就不会失败。
snakemake 有一个选项 --max-jobs-per-second
和 --max-status-checks-per-second
,默认参数为 10。也许尝试减少它们以减少调度程序的压力?另外,也许尝试减少 -j 999
?