ilog_index_expire_time 用于设置 OBServer 可提供的 Ilog 文件读取的时间上限。

描述

属性

描述

参数类型

时间类型

默认值

60d,表示 60 天

取值范围

[0s,120d)

是否重启 OBServer 生效

在 OceanBase 数据库中,file_id_cache 缓存了所有 Ilog 文件对应的元数据信息,记录了每个分区在这些 Ilog 文件中的起始日志号及时间戳。默认情况下,只有在 Ilog 文件被删除时才会触发对 file_id_cache 的清理。因此,在磁盘空间较大的机器上,很容易出现 file_id_cache 占用较大的内存空间的情况,同时,如果反复出现分区的创建与删除时,该情况还会被进一步放大。

您可以通过调整 ilog_index_expire_time 配置项的值来解决 file_id_cache 占用较大内存空间的问题。ilog_index_expire_time 定义了 OBServer 可提供的 Ilog 文件读取的时间上限,对于超过指定时间上限的 Ilog,将不在 file_id_cache 中进行缓存,从而起到减少内存占用的作用。

在设置该配置项的值时:

  • 如果缩短该配置项值所对应的时间上限,系统会迅速地清理 file_id_cache 的内存占用。设置后,您可以通过查询 ob_csr_file_id_cache 标识对应的内存的占用量进行观测。

  • 如果扩大该配置项所对应的时间上限,在机器重启后,系统会让 file_id_cach 缓存时间跨度范围更大的 Ilog 文件。

示例

  1. obclient> ALTER SYSTEM SET ilog_index_expire_time = '7d';