作业疑难解答

更新时间: 2014年1月

应用到: Microsoft HPC Pack 2008 R2, Microsoft HPC Pack 2012, Microsoft HPC Pack 2012 R2, Windows HPC Server 2008, Windows HPC Server 2008 R2

作业和任务可能会因多种原因失败。下面的步骤提供了使用 HPC 作业管理器调查失败的起点。

  1. 在“导航窗格”中的“我的作业”下,单击“失败”。

  2. 双击一项作业(或右键单击一项作业,然后单击“查看作业”)可查看作业详细信息。

  3. 在“作业进度”选项卡中,查看“消息”字段以了解有关作业和任务为何失败的信息。

  4. 单击任务错误消息以透视到“查看任务”选项卡中已筛选的视图,其中显示所有失败的任务以及相应的错误消息。若要清除筛选器并查看所有任务,请单击“清除筛选器”。

  5. 在“查看任务”选项卡中,可以对可见任务进行筛选以查看所有失败的任务:

    1. 在“筛选器”中,选择“状态”。

    2. 在筛选器值框中,选择“失败”。

    3. 单击筛选器图标或按 Enter 键。

  • 作业中一项或多项任务失败。这是最常见的作业失败原因。这表明一项或多项任务无法运行或未能成功完成。查看任务级别错误消息以调查该类型的作业失败。有关详细信息,请参阅本主题中的任务失败的常见原因

  • 无法联系分配到作业的节点。对于因无法联系节点而失败的作业,系统会自动重试特定的次数,但如果问题继续存在,作业最终会失败。如果收到此错误消息,则可以尝试为作业请求不同的节点,或者专门从作业中排除问题节点。有关详细信息,请参阅定义为作业排除的节点

  • 作业的运行时间已过期。作业计划程序服务会取消到达运行时间界限的作业。如果可能,请修改作业的运行时间,然后对作业进行重新排队。有关详细信息,请参阅修改作业对作业或任务进行重新排队

  • 无法在一个已分配节点上启动作业。此类型失败的最常见原因是与作业关联的用户名或密码无效。可以使用“作业修改”命令行命令更新附加到作业的凭据,然后尝试进行重新排队。

  • 任务在执行期间失败。此类型的错误发生于应用程序自身。查看输出和错误文件以获得详细信息。如果没有为任务指定标准输出和错误文件,请检查“任务属性”对话框中的“输出”和“错误”字段。

    note注意
    该消息表明任务的命令行返回了一个非零的退出代码,作业计划程序服务将此解释为失败。但是,某些应用程序即使成功运行,也可能返回一个非零的退出代码。有关详细信息,请参阅本主题中的非零退出代码的命令行评估语句

  • 任务的运行时间已过期。作业计划程序服务会取消到达运行时间界限的任务。您可以新建一个具有更长运行时间的任务副本,然后尝试对作业进行重新排队。

  • 无法访问任务需要的文件位置。任务失败的一个常见原因是无法访问需要的文件位置,包括标准输入、输出和错误文件以及工作目录的位置。请查看以下可能的原因:

    • 权限问题阻止了任务访问指定的文件。

    • 网络问题阻止了从指定计算节点访问文件。

    • 工作目录、输入文件或输出文件位置不存在。

  • 无法联系分配到任务的节点。对于因无法联系节点而失败的任务,系统会自动重试特定的次数,但如果问题继续存在,任务最终会失败。如果收到此错误消息,则可以尝试为作业请求不同的节点,或者专门从作业中排除问题节点。有关详细信息,请参阅定义为作业排除的节点

如果应用程序返回表示成功的非零退出代码,则可以在命令行中包括评估语句,以检查成功的退出代码。可以使用 %ERRORLEVEL% 环境变量来评估应用程序的退出代码,并在成功时向 HPC 作业计划程序服务返回值 0。或者,您可以修改命令以忽略所有退出代码。

例如,Robocopy.exe 返回退出代码 0 和 1,表示取得成功。如果提交的任务指定了命令 robocopy c:\dirA c:\dirB *.*,则该任务可能会成功完成,但将被 HPC 作业计划程序服务标记为“失败”。

  • 若要检查成功的退出代码(小于或等于 1),则可以按照以下方式修改命令:

    robocopy c:\dirA c:\dirB *.* ^& IF %ERRORLEVEL% LEQ 1 exit 0

  • 若要忽略退出代码,则可以按照以下方式修改命令:

    robocopy c:\dirA c:\dirB *.* ^& exit 0

显示: