chist#

命令#

chist - 显示 AIP 作业的历史记录

概要#

chist [-h] [-V] [-l] [-b] [-w] [-a] [-d] [-e] [-p] [-s] [-r] [-f cb.data文件名 | -n cb.data文件数 | -n 最小日志文件,最大日志文件] [-C 时间0,时间1] [-S 时间0,时间1] [-D 时间0,时间1] [-N 主机规范] [-P 项目名称] [-q 队列名称] [-m 主机名] [-J 作业名] [-u 用户名 | -u all] [-j] [-o格式”] [jobId | “jobId[index]”…]

chist [-h] [-V] -t [-f cb.data文件名] [-T 时间0,时间1] [-j]

描述#

显示作业的历史记录。如果不带选项,则默认情况下,它会显示调用此命令的用户所拥有的所有等待、暂停和正在运行的作业的历史记录。如果用户没有特殊权限,chist只能查看用户自己的作业历史。

选项#

-h

将命令使用情况打印到 stderr 并退出。

-V

将 AIP 发布版本打印到 stderr 并退出。

-b

以简要格式显示作业历史记录。有关默认值,请参阅 -l。

-j

以 JSON格式显示作业历史记录。此选项不能与 -b 或 -l 选项一起使用。

-l

以长格式显示作业历史记录。每个作业的详细信息将以多行形式显示。如果未指定 -l 或 -b 选项,则仅显示“概要”中的字段(见下文)。

-w

以宽格式显示作业历史记录。

-a

显示已完成和未完成的作业。此选项会覆盖 -d、-p、-s 和 -r 选项。如果 -a 和 -d 均未指定,则不会显示已完成的作业。

-d

仅显示已完成的作业。

-e

仅显示退出(退出码为非0或等待是被杀)的作业。

-p

仅显示等待的作业。

-s

仅显示暂停的作业,并显示每个作业暂停的原因(如果指定了选项 -l 或 -b)。

-r

仅显示正在运行的作业。

-f cb.data文件路径

显示指定事件日志文件中的作业历史记录信息。可以指定绝对路径名或相对路径名。默认使用 AIP 系统当前使用的事件日志文件:/opt/skyformai/work/data/cb.data。选项 -f 通常用于离线分析。

如果设置了环境变量 CB_SHAREDIR,chist 将在 $CB_SHAREDIR/data 中搜索文件。

-n num_logfiles

指定 chist 搜索的cb.data文件数量。将搜索最近的 num_logfiles 个cb.data文件。默认值为 1;即搜索当前事件cb.data文件 $(CB_SHAREDIR)/data/cb.data。如果 num_logfiles 为 2,chist 将搜索事件日志文件 cb.data 和 cb.data.(最近的时间戳);如果 num_logfiles 为 3,chist 将搜索 cb.data 以及另外两个 cb.data.timestamp;依此类推。如果 num_logfiles 为 0,则搜索 $(CB_SHAREDIR)/data 中的所有cb.data文件。

-n min_logfile,max_logfile

指定 chist 搜索的cb.data文件范围。min_logfile 和 max_logfile 的值表示cb.data的索引。例如,2 表示 cb.data.(第2个带时间戳的文件)。

-C time0,time1

仅显示完成或退出时间在 time0 和 time1 之间的时间间隔内的作业(请参阅下面的时间格式)。

-S time0,time1

仅显示提交时间在 time0 和 time1 之间的时间间隔内的作业(请参阅下面的时间格式)。

-D time0,time1

仅显示开始运行时间在 time0 和 time1 之间的时间间隔内的作业(请参阅下面的时间格式)。

-N host_spec

以标准化值显示 CPU 时间。host_spec 可以是主机名、AIP 中定义的主机型号名称或 CPU 因子(使用 cinfo 获取主机型号和 CPU 因子信息)。如果离线使用 chist,即不使用 CBLS,则 host_spec 的唯一有效用法是 CPU 因子。指定 host_spec 的适当 CPU 缩放因子用于标准化作业消耗的实际 CPU 时间。

-P project_name

仅显示属于指定项目 project_name 的作业。

-q queue_name

仅显示提交到指定队列 queue_name 的作业。

-m host_name

仅显示分派到指定主机 host_name 的作业。

-u user_name | -u all

只有集群管理员可以使用此选项。如果发出命令的用户不是集群管理员,则此选项将被忽略。显示由 user_name 指定的用户或所有用户(如果指定了保留用户名 all)提交的作业。默认显示调用此命令的用户提交的作业。

-t

按时间顺序显示作业事件。默认情况下仅显示上周的记录。如需显示不同时间段,请使用 -t 和 -T 选项。

-J job_name

显示具有指定作业名为 job_name 的作业。

-o “字段名称 … [delimiter= ‘字符’]”

通过字段名称指定自定义输出格式。使用delimiter=指定在不同标题和字段之间显示的分隔符。分隔符必须是单个字符。默认情况下,分隔符为空格。

如果字段没有值,则输出为破折号 (-)。

可用的字段名称有:

jobid|jd:作业 ID

stat:作业状态

用户:提交用户

app:csub -A 指定的应用程序名称

user_group|ugroup:作业用户所属的用户组

queue:作业提交到的队列名称

job_name|name:csub -J 指定的作业名称

job_description|description:csub -Jd 指定的职位描述

proj_name|proj|project:csub -P 指定的项目名称

job_group|group:csub -g 指定的工作组名称

dependency:由 csub -w 指定的依赖关系

job_priority|priority:由 csub -sp 指定的作业优先级

command|cmd:作业命令

stripped_cmd|scmd:不带 #CSUB 选项的作业命令

pre_exec_command|pre_cmd:由 csub -E 指定的预执行

exit_code:作业退出代码

from_host:作业提交主机名

first_host:第一个作业执行主机

exec_host:作业执行主机

nexec_host:作业的执行主机数量

specified_start_time|sstart_time:csub -b 指定的作业开始时间

specified_terminate_time|sterminate_time:csub -t指定的作业终止时间

finish_time:作业完成时间

cpu_used:使用的 CPU 时间

run_time:作业运行总时间(秒)

slots|nalloc_slot:已使用的槽总数

mem:已用内存(KB)

maxmem:完成作业所需的最大内存(KB)

avgmem:完成作业所用的平均内存(KB)

memlimit:csub -M 指定的内存限制

swap:操作系统为该作业分配的虚拟内存(以 KB 为单位)

swaplimit:由 csub -v 指定的虚拟内存限制(以 KB 为单位)

min_req_proc|nreq_slot:csub -n 请求的最小槽数

max_req_proc:csub -n 请求的最大插槽数

resreq:csub -R 指定的资源需求

filelimit:由 csub -F (ulimit -f) 指定的文件大小限制

corelimit:csub -C(ulimit -c)指定的核心文件大小限制

stacklimit:由 csub -S (ulimit -s) 指定的堆栈大小限制

processlimit:csub -p(ulimit -u)指定的最大用户进程数

input_file:csub -i|-is 指定的输入文件名

output_file:csub -o|-oo 指定的输出文件名

error_file:csub -e|-eo 指定的错误文件名

sub_cwd:运行 csub 或 csub -cwd 时的当前工作目录

exec_home:作业提交的主目录

exec_cwd:作业正在执行的当前工作目录

effective_resreq|eresreq:有效资源需求

pend_time:作业等待总时间(秒)

psusp_time:提交等待的总时间(秒)

ususp_time:用户暂停的时间(秒)

ssusp_time:调度程序暂停的时间(秒)

unkonwn_time:作业状态未知的时间(秒)

total_time:从提交到现在或作业结束的时间(以秒为单位)

usage_time:时隙时间(秒)* run_time

jobId …

仅显示指定的作业。此选项覆盖除 -N、-h 和 -V 之外的所有其他选项。与 -J 一起使用时,仅显示此处列出的具有指定 job_name 的作业。

每个作业在长格式输出(-l)最后的统计

统计该作业在各个状态下所花费的时间,单位为秒:

PEND

作业调度前的总等待时间(不包括用户暂停时间)

PSUSP

等待作业的用户暂停总时间

RUN

作业的总运行时间

USUSP

作业调度后用户暂停的总时间

SSUSP

作业调度后系统总暂停时间

UKNWN

作业的总未知时间(如果执行主机上的 cbjm 暂时无法访问,则作业状态变为未知)。

TOTAL

作业在所有状态下所花费的总时间;对于已完成的作业,这是周转时间(即从作业提交到作业完成的时间间隔)。

时间格式#

-C、-S 和 -D 选项中的*time0*,time1 必须符合以下内容:

time_form = ptime, ptime | ptime, |, ptime | itime

ptime = 日 | /日 | 月/ | 年/月/日 | 年/月/日/ | 时: | 月/日 | 年/月/日/时: | 年/月/日/时:分 | 日/时: | 月/日/时: | 日/时:分 | 时:分 | 月/日/时:分 | . | .-itime

itime = ptime 日,月,时,分 = 两位数

其中“ptime”代表特定的时间点,“itime”代表特定的时间间隔,“。”代表当前的月/日/时:分。

牢记以下规则将帮助您自由指定时间:

  • 年份必须是 4 位数字,后跟 /

  • 月份后面必须跟一个 /

  • 日期前面必须跟一个 /

  • 小时后面必须跟一个 :

  • 分钟前面必须跟一个 :

  • 当日期单独存在或日期后面跟一个 / 小时时,日期前的/ 可以省略:

  • 时间格式中不允许有空格,也就是说,时间必须是单个字符串。

上述时间格式是为了方便灵活地指定时间而设计的。

请参阅以下示例:

假设当前时间是2025年3月9日17:06:30。

1,8

从 2025 年 3 月 1 日 00:00:00 到 2025 年 3 月 8 日 23:59:00;从记录第一项工作的时间到 2025 年 3 月 4 日 23:59:00 的 ,4 或 ,/4;

6 或 /6

从2025年3月6日00:00:00到2025年3月6日23:59:00;

2/

从2025年2月1日00:00:00到2025年2月28日23:59:00;

12:

从2025年3月9日12:00:00到2025年3月9日12:59:00;

2/1

从2025年2月1日00:00:00到2025年2月1日23:59:00;

2/1,

从 2 月 1 日 00:00:00 到当前时间;

,. 或者 ,

从记录第一份工作的时间到当前时间;

,.-2

从记录第一份工作开始到 2015 年 3 月 7 日 17:06:30;

,.-2/

从记录第一份工作开始到 2015 年 1 月 9 日 17:06:30;

,2/10:

从记录第一份工作开始到 2015 年 3 月 2 日 10:59:00;

2024/11/25,2025/1/25

从 2024 年 11 月 25 日 00:00:00 到 2025 年 1 月 25 日 23:59:00。