【问题标题】:I'm not getting an error message in my qsub error log even though I'm running into an error即使遇到错误,我的 qsub 错误日志中也没有收到错误消息
【发布时间】:2016-02-02 23:16:33
【问题描述】:

这是我的 .sh 脚本

#PBS -N Polygenic
#PBS -S /bin/bash
#PBS -l walltime=8:00:00
#PBS -l nodes=1:ppn=8
#PBS -l mem=4gb
#PBS -o $HOME/${PBS_JOBNAME}.o${PBS_JOBID}.log
#PBS -e $HOME/${PBS_JOBNAME}.e${PBS_JOBID}.err

module load R
Rscript /group/stranger-lab/ebeiter/PolygenicAdaptationCode-master/Example/Run_Files/exampleHeightRunFile.R

我知道我的 Rscript 在第 71 行(第 390 行)遇到错误,因为我已经在集群外部运行它,然后它停止了。但是当我查看我的错误日志时,它完全是空白的。这项工作需要大约 6 个小时才能运行,而我一直在做的只是在我的 4GB Ram Macbook 上运行它,但这需要花费很多时间,而且管道正在破坏我的外壳,我正在超时。我想将它作为作业作为 qsub 提交到集群,但我没有收到关于日志中错误的任何反馈,所以我不能这样做。出了什么问题?

【问题讨论】:

    标签: r cluster-computing sh qsub rscript


    【解决方案1】:

    我建议从 Rscript 重定向错误。我运行它像

    Rscript >>output.txt 2>&1 script.R
    

    在 PBS 脚本中。我怀疑 Rscript 错误没有被调度程序捕获。

    【讨论】:

    • 谢谢!所以只需在我的脚本名称之前插入>>output.txt 2>&1,我就会得到一个带有错误的输出文件?如果作业顺利运行,会输出什么?
    • 嗯...但是你得到了什么?尝试在脚本的早期插入 stop() 命令并检查是否收到消息。如果没有错误,那么您只会得到程序输出的任何内容(可能什么也没有)。您还会收到系统错误消息。您预计会出现什么样的错误?
    • 这是什么意思:“然后管道破裂”?我在 SOCKET 集群上遇到了类似的问题(不记得确切的错误),切换到 MPI 集群解决了这个问题
    • 看起来你的程序在你遇到错误之前就崩溃了。
    • 似乎您的程序在出现错误之前就崩溃了。您的代码是否调用任何并行处理?您似乎只通过您的 pbs 脚本运行了一个实例,但您要求使用 8 个处理器。集群是否使用某种抢占(每隔一段时间杀死和重新启动你的工作)?在代码中的可疑位置输出调试消息。检查您是否可以看到它们以及它们在哪里停止。
    猜你喜欢
    • 1970-01-01
    • 2021-07-11
    • 2021-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-01
    • 1970-01-01
    • 2016-08-13
    相关资源
    最近更新 更多