You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Slurm作业终端可查看输出但slurm.out无记录,如何确保输出写入该文件?

解决Slurm作业输出无法写入slurm.out的问题
  • 确认输出文件路径与权限
    Slurm默认生成的输出文件是slurm-<作业ID>.out,先检查你找的是不是正确的文件。如果提交时用了--output参数指定路径(比如sbatch --output=./slurm.out my_job.sh),要确认目标目录有写入权限,避免因权限不足导致输出无法写入。

  • 强制关闭输出缓冲
    多数程序在非交互式环境(比如Slurm作业)下会缓冲标准输出,导致内容不会实时写入文件:

    • Python脚本:提交时加-u参数禁用缓冲,比如sbatch --wrap="python -u hello.py"
    • C/C++程序:在printf后调用fflush(stdout)强制刷新输出
    • Shell脚本:用stdbuf -oL ./your_script.sh启动脚本,开启行缓冲模式
  • 验证Slurm的输出配置与作业状态

    • 用sacct -j <作业ID> --format=JobID,State,STDOUT查看Slurm记录的输出文件路径,确认系统指定的文件和你查看的一致
    • 部分集群会设置为作业结束后才写入输出文件,可尝试等待作业完成后再检查文件内容
    • 用squeue -j <作业ID>确认作业处于RUNNING状态,排除作业未实际执行的情况
  • 重新提交作业排除残留问题
    先用scancel <作业ID>终止当前作业,清理可能残留的进程或文件锁,再重新提交测试作业,观察输出是否正常写入。

内容的提问来源于stack exchange,提问作者Ranos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 02:52:15