echkpnt#

系统命令#

echkpnt - 调度器用户执行检查点操作的定制化命令

概要#

echkpnt [-k] [-d checkpoint_dir] [-x] process_group_ID

echkpnt [-h | -V]

描述#

echkpnt 是用于对作业执行检查点操作的接口。

默认情况下,作业在执行检查点操作后会继续执行。

概要中的某些选项仅受某些操作系统支持。

echkpnt#

echkpnt 位于 CB_SERVERDIR (/opt/skyformai/sbin)目录下。

echkpnt 将通过作业提交提供的检查点指令 或通过队列参数发送到您定义的自定义 echkpnt 方法。通信通过概要中指示的通用语法实现。

echkpnt.method_name#

echkpnt.method_name 是一个自定义 echkpnt,它尝试运行 自定义检查点程序或脚本。

自定义 echkpnt 方法的名称必须是 echkpnt.method_name,其中 method_name 是您分配给 自定义 echkpnt 的名称。method_name 必须使用 CB_ECHKPNT_METHOD 作为环境变量指定,或在使用 csub -k 选项提交作业时指定,例如 csub -k “mydir 120 method=myapp” job1。

echkpnt.method_name 必须支持概要中描述的语法。

echkpnt.method_name 位于 CB_SERVERDIR (/opt/skyformai/sbin) 中。

选项#

-k

成功完成检查点后终止作业。如果指定此选项,并且检查点因任何原因失败,作业仍会继续执行。

-d checkpoint_dir

指定检查点目录checkpoint_dir。请指定相对或绝对路径名。

作业检查点后,检查点信息存储在 checkpoint_dir/job_ID/file_name 中。多个作业可以在同一目录中执行检查点操作。系统可以创建多个文件。

检查点目录用于重新启动作业(参见 crestart)。

-x

此选项仅用于兼容性。应忽略。

process_group_ID

要执行检查点操作的进程或进程组的 ID。

-h

将命令用法打印到标准错误输出并退出。

-V

将 AIP 发行版本打印到标准错误输出并退出。

另请参见#

csubcchkpntcrestarterestart

诊断#

echkpnt#

如果检查点操作成功,则返回 0。否则,返回 echkpnt.default 或 echkpnt.method_name 的值。

echkpnt.default#

这应该链接到一个特定的 echkpnt.method,并设置为默认的检查点方法。

echkpnt.method_name#

至少应该存在一个自定义检查点方法。 如果 echkpnt.method_name 成功完成作业检查点,则退出并返回 0。非零值表示作业检查点失败。所有写入 stdout 和 stderr 的消息都将定向到 /dev/null 并被 AIP 忽略。

要保存 echkpnt.method_name 的标准错误和标准输出消息,请在提交作业之前设置 CB_ECHKPNT_KEEP_OUTPUT=y。 echkpnt.method_name 生成的 stdout 和 stderr 输出将被重定向至:

  • checkpoint_dir/$CB_JOBID/echkpnt.out

  • checkpoint_dir/$CB_JOBID/echkpnt.err

限制#

如果您使用 echkpnt.method_name,则作业提交后,将使用提交时指定的方法或参数 CB_ECHKPNT_METHOD 对作业进行检查点检查。您无法使用 bmod 命令更改该方法。

如果您提交作业但未指定自定义方法,并且 CB_ECHKPNT_METHOD 未定义,则将使用 echkpnt.default。您无法使用 bmod 更改此设置。

集群管理员有责任确保方法名称和方法目录组合在集群中是唯一的。