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 发行版本打印到标准错误输出并退出。
另请参见#
诊断#
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 更改此设置。
集群管理员有责任确保方法名称和方法目录组合在集群中是唯一的。