概述

LSF 使用账户文件来跟踪所有已完成作业的资源分配和使用情况,这是 lsb.acct 文件的主要用途。

lsb.acct 文件特点

  • 格式:纯文本文件,每行一条作业记录
  • 内容:包含作业提交选项、分配信息、开始时间、结束时间和资源使用情况
  • 位置:默认位于 ${LSB_SHAREDIR}/<cluster_name>/logdir 目录下
  • 数量:默认每个集群只有一个 lsb.acct 文件

注意:默认情况下,LSF 不启用自动文件归档或轮转机制。lsb.acct 文件会持续增长,占用工作目录空间并影响查询命令(如 bacct)的性能。

自动归档配置

自动归档可以通过 lsb.params 中的以下参数触发:

参数 说明
ACCT_ARCHIVE_AGE=<天数> 当文件创建时间超过指定天数时归档
ACCT_ARCHIVE_SIZE=<KB> 当文件大小超过指定KB时归档
ACCT_ARCHIVE_TIME=<hh:mm> 在每天指定时间自动归档

参数互斥规则

  • ACCT_ARCHIVE_AGEACCT_ARCHIVE_TIME 互斥(一个按天计算,一个按具体时间)
  • 如果同时定义了两者,ACCT_ARCHIVE_AGE 将被忽略
  • ACCT_ARCHIVE_SIZE 可以与其他两个参数共存

归档文件命名规则

当 LSF 归档账户文件时,旧文件会保存为 lsb.acct.n,其中:

  • n 为归档文件的索引号
  • 索引号越大,文件越旧
  • lsb.acct.1 始终是最新的归档文件

修改参数后需要运行 badmin reconfig 使配置生效。

自动删除配置

使用 MAX_ACCT_ARCHIVE_FILE 参数控制归档文件数量:

1
MAX_ACCT_ARCHIVE_FILE=<数量>

当归档文件总数达到配置的阈值时,LSF 会自动删除最旧的归档文件,防止无限期归档导致磁盘空间不足。

最佳实践指南

性能考量

  • 作业完成记录大小因作业特性而异,从几百字节到数万字节不等
  • 默认情况下,bacct 命令只读取当前的 lsb.acct 文件
  • 包含 40 万条作业记录的账户文件可能达到 1GB,bacct 可能需要 1 分钟才能完成

建议:为确保 bacct 性能良好,推荐设置 ACCT_ARCHIVE_SIZE=500000(500MB)

场景一:高吞吐量集群

如果集群每天运行大量作业(如百万级别):

  • 使用 ACCT_ARCHIVE_TIME 防止在当前账户文件中累积过多作业记录
  • 将归档时间设置为午夜,避免影响用户查询
1
2
ACCT_ARCHIVE_TIME=23:00
MAX_ACCT_ARCHIVE_FILE=10

适用场景:日吞吐量达 80 万作业,需要保留当天信息并维护 10 天的归档记录

场景二:中等吞吐量集群

如果集群每天处理数千到数万个作业:

  • 使用 ACCT_ARCHIVE_AGE 基于天数进行归档
  • 需要在 bacct 性能和记录保留天数之间取得平衡
1
2
3
ACCT_ARCHIVE_AGE=30
ACCT_ARCHIVE_SIZE=500000
MAX_ACCT_ARCHIVE_FILE=24

适用场景:日吞吐量不到 1 万作业,需保留 1 个月的账户记录,每个文件控制在 500MB 以内,归档保留 2 年

MAX_ACCT_ARCHIVE_FILE 设置建议

设置时需考虑:

  1. 命令性能bacct 的某些选项(如 -C-D-S)会搜索整个归档文件,归档越多,命令越慢
  2. 归档过程影响:LSF 在归档过程中需要重命名归档文件,保留大量归档可能影响用户交互
  3. 磁盘空间:根据可用空间合理设置归档数量

配置示例

示例一:高吞吐量生产环境

1
2
3
# 每天晚上11点归档,保留10个归档文件
ACCT_ARCHIVE_TIME=23:00
MAX_ACCT_ARCHIVE_FILE=10

示例二:并行计算环境

1
2
3
4
# 30天归档一次,单文件最大500MB,保留24个归档(约2年)
ACCT_ARCHIVE_AGE=30
ACCT_ARCHIVE_SIZE=500000
MAX_ACCT_ARCHIVE_FILE=24

操作步骤

  1. 编辑 lsb.params 文件添加相应参数
  2. 运行 badmin reconfig 使配置生效
  3. 使用 bparams -a 验证配置
1
2
3
4
$ bparams -a | grep ACCT
ACCT_ARCHIVE_SIZE = 500000
ACCT_ARCHIVE_AGE = 30
MAX_ACCT_ARCHIVE_FILE = 24

参考资料

  1. IBM Documentation - LSF accounting file management
  2. IBM Documentation - Best practices and tips for LSF