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

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

    在设置该配置项的值时:

    示例