creport#
命令#
creport - 生成与作业相关的报告
概要#
creport [-C time0,time1] [-f “cb.acct文件名 …”|cb.acct目录名[+]] [-a “应用程序名 …”] [-m “主机名 …”] [-P “项目名 …”] [-q “队列名 …”] [-u “用户名 …”] [-G “用户组名…”] [-j “jobId …”] [-l] [-p gnuplot输出文件名] [-r 报告类型] [-i 数据点间隔[unit]] [-JSON] [-z en|zh]
creport [-h] [-V]
描述#
根据 AIP 会计和作业事件数据生成与作业相关的报告。
该工具默认以 csv 格式输出数据,以便轻松导入其他工具。它还集成了开源 gnuplot,可以图形化地绘制数据。
它可以生成以下报告。所有报告均基于指定的时间段。
数据可以按以下方式分隔:
还可以通过指定以下范围来缩小报告范围:
所需环境#
如果您想创建 gnuplot 图表,您需要安装 gnuplot v5 并将 gnuplot 模板文件 bgnu.temp 复制到当前工作目录或 $CB_ENVDIR。
选项#
- -h
显示使用信息。如果任何参数有误,也会显示使用信息。
- -V
显示版本信息。
- -f “file_name …”|path[+]
指定 AIP cb.acct文件名。可以使用引号指定多个文件名,并用空格分隔,例如“cb.acct cb.acct1”。 如果参数是目录路径,则将使用该目录中的所有 cb.acct* 文件。如果参数是目录路径加上“+”字符 (例如 /opt/skyformai/work/data+),则将同时读取该目录中的 cb.acct* 文件以及 cb.events* 文件。
如果未指定此选项,则将使用当前安装的 AIP 环境中的 cb.acct 文件。
- -C time0,time1
指定报告时间段。其语法与 bhist 命令中的时间语法相同。如果未指定此选项,则将报告事件或/和会计文件所涵盖的整个时间段。
- -a “应用程序名 …”
仅缩小指定应用程序名称的报告数据范围。 可以在引号内指定多个应用程序名称,并用空格分隔。应用程序名称在 csub -A 或 csub -app 选项中指定。默认情况下,报告具有任何应用程序名称(包括空应用程序名称)的作业。
- -m “主机 …”
使用在指定主机上运行的作业的数据。可以在引号内指定多个主机,并用空格分隔。如果未指定,则使用 AIP 系统中的所有主机。
- -P “项目名 …”
使用具有指定项目的作业的数据。可以在引号内指定多个项目,并用空格分隔。如果未指定,则使用 AIP 系统中的所有项目。
- -q “队列名 …”
使用在指定队列中运行的作业的数据。可以在引号内指定多个队列,并用空格分隔。如果未指定,则使用 AIP 系统中的所有队列。
- -u “用户名 …”
使用由指定用户提交的作业的数据。多个用户 可以用引号括起来并用空格分隔。如果未指定,则报告所有运行过作业的用户。
- -G “用户组名 …”
使用指定用户组运行的作业数据。多个用户组可以用引号括起来并用空格分隔。请注意,会计文件不包含用户组信息,因此无法使用此选项。
- -j “jobId …”
使用指定作业 ID 的作业数据。多个作业 ID 可以用引号括起来并用空格分隔。对于数组作业,只能指定作业 ID。如果未指定此选项,则将使用 AIP 系统中的所有作业。
- -l
列出所有已报告的作业,但不生成报告。
- -JSON
输出 JSON 格式。
- -z en | zh
选择 JSON 报告语言。“en”为英语,这是默认语言。“zh”为简体中文。
- -p gnuplot输出文件路径
使用 gnuplot 生成报告图表
- -r 报告类型
指定报告类型。报告类型名称的格式为 “统计项:类别”。
统计项可以是以下名称之一:
submit:已提交作业数
done:已完成且退出代码为 0 的作业数
exited:已退出且退出代码非零的作业数
completed:已完成和已退出的作业数
run:平均作业槽位ge
pending:等待作业的平均数量
suspend:暂停作业的平均数量
类别是以下名称之一:
user:按用户分类的数据
queue:按队列分类的数据
project:按项目分类的数据
app:按应用名称分类的数据
ugroup:按用户组分类的数据
all:数据未分类
如果不指定该选项,则默认生成的报告为 “run:all”。
- -i interval[unit]
指定两个报告数据之间的时间间隔(以秒为单位)。例如:“-i 3”表示 3 秒。
单位为可选字符。
‘m’:分钟
‘h’:小时
‘d’:天
如果不指定选项,则会自动计算间隔,以便在整个报告周期内生成大约 160 个报告数据点。
使用#
该工具可用于生成多种不同类型的报告。
按用户划分的槽位利用率
命令示例:
creport -r run:user -p run-user.png
报告:用户随时间变化的作业槽位使用情况。此报告显示 AIP 分配给用户的作业槽位随时间变化的份额。 该命令从 AIP 集群中的 cb.acct 文件中读取数据,并调用 gnuplot 生成报告图像文件 run-user.png。
集群槽位利用率
同样,上图也显示了 AIP 集群的运行情况。
图表中的顶线表示随时间变化的作业槽位总数。当有作业运行时,使用率接近 100%。
如果您只想查看集群利用率的输出,而不查看按用户细分的数据,只需运行:
creport -r run -p run.png
或者,如果您想将数据导入电子表格或其他工具,您可以让工具将数据写入标准输出,然后将其捕获到文件中。例如:
creport -r run > run.csv
creport -r run:user > run-user.csv
creport -r run:queue > run-queue.csv
作业吞吐量
要报告 AIP 系统的作业吞吐量,请运行以下命令显示作业完成的速率:
creport -r comp:user -p comp-user.png -i 1h
在上图中,我们看到每小时完成(完成或退出)的作业数量,这实际上就是作业吞吐量。
作业失败
如果您想检查有多少作业以非零状态退出(表示失败),可以运行以下命令:
creport -r exit -C 2024/10/30 -i 1h
这将报告 2024 年 10 月 30 日退出的作业数量,每小时一行。如表 1 所示,您可以以秒、分钟、小时、天 或月为间隔生成类似的统计数据。
调度器性能
通常,当等待作业足够多时,系统中的槽位使用率应该很高。有时,即使有空闲的作业槽位,作业也未进行调度。作业未调度的常见原因之一是资源需求未得到满足。
首先,我们会生成一份按资源需求划分的作业槽位使用情况报告。如果发现有空槽位,我们可能会生成另一份按资源需求划分的等待作业报告。
然后,我们来查看等待作业报告。
如果我们发现在所示时间段内有很多等待作业。
存在等待作业且集群未得到充分利用的事实表明,其他因素阻止了这些作业的调度。我们可能会查看 AIP 配置以进一步调查。
放大感兴趣的时间段
要放大到较小的时间段,请使用 –C 选项指定时间段。要获取更多数据点,您还可以使用 –i 开关缩短报告数据点之间的间隔。允许的最小间隔为 1 秒。
您还可以通过指定队列名称、项目名称、用户名、用户组名称、主机名、作业 ID 或任何组合来缩小数据范围。
时间规范#
-C 选项中的“time0,time1”必须符合以下规定:
time_argument = ptime,ptime | ptime, | ,ptime | itime
ptime = 日 | /日 | 月/ | 年/月/日 | 年/月/日/ | 小时: | 月/日 | 年/月/日/小时: | 年/月/日/小时:分钟 | 日/小时: | 月/日/小时: | 日/小时:分钟 | 小时:分钟 | 月/日/小时:分钟 | -itime
itime = ptime 日、月、小时、分钟 = 两位数字
其中,“ptime”代表特定时间点,“itime”代表特定时间间隔,“.”代表当前 月/日/小时:分钟。
记住以下规则将帮助您自由指定时间:
上述时间格式旨在方便灵活地指定时间。
请参阅以下示例:
假设当前时间为 2025 年 3 月 9 日 17:06:30。
1,8
从 2025 年 3 月 1 日 00:00:00 到 2025 年 3 月 8 日 23:59:00;
,4 或 ,/4
从记录第一个作业的时间到 2025 年 3 月 4 日 23:59:00;
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
从记录第一个作业的时间到 2025 年 3 月 7 日 17:06:30;
,.-2/
从记录第一个作业到 2025 年 1 月 9 日 17:06:30;
,2/10:
从记录第一个作业到 2025 年 3 月 2 日 10:59:00;
2024/11/25,2025/1/25
从 2024 年 11 月 25 日 00:00:00 到 2025 年 1 月 25 日 23:59:00;
限制#
目前,creport 仅使用 AIP 统计和事件数据文件作为信息来源。它有以下限制: