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。