📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项作用 #

indices.cache.cleanup_interval 配置项控制清理已关闭索引缓存的间隔时间。系统定期清理已关闭索引的缓存资源,包括内存中的索引元数据和文件句柄等。

配置项类型 #

该配置项为静态配置,需要在启动时设置,修改后需要重启节点才能生效。

默认值 #

1m

是否必需 #

可选配置项(有默认值)

取值范围 #

0 ~ 正无穷

配置格式 #

# 默认配置
indices.cache.cleanup_interval: 1m

# 更频繁清理
indices.cache.cleanup_interval: 30s

# 减少清理频率
indices.cache.cleanup_interval: 5m

# 快速清理
indices.cache.cleanup_interval: 10s

工作原理 #

缓存清理机制:

┌─────────────────────────────────────────────────────────────────┐
│                    索引缓存清理                                  │
└─────────────────────────────────────────────────────────────────┘

定时任务启动
    │
    ▼
等待 cleanup_interval 时间
    │
    ▼
扫描已关闭索引
    │
    ├── 发现已关闭索引
    │   │
    │   ├── 清理内存缓存
    │   ├── 释放文件句柄
    │   └── 清理元数据
    │
    └── 返回,等待下次清理

使用场景 #

1. 默认配置(推荐) #

indices.cache.cleanup_interval: 1m

适用于大多数集群配置。

2. 频繁开关索引 #

indices.cache.cleanup_interval: 30s

适用场景:

  • 频繁创建/删除索引
  • 大量临时索引
  • 需要快速清理

3. 稳定生产环境 #

indices.cache.cleanup_interval: 5m

适用场景:

  • 索引变化少
  • 减少清理开销
  • 稳定的生产环境

4. 资源敏感环境 #

indices.cache.cleanup_interval: 10s

适用场景:

  • 内存紧张
  • 大量索引操作
  • 快速释放资源

推荐设置建议 #

索引变更频率推荐间隔说明
默认1m标准配置
频繁变更10-30s快速清理
偶尔变更3-5m减少开销
资源紧张10-30s密切清理

监控建议 #

# 查看已关闭索引
GET /_cat/indices?v&h=index,status

# 查看节点缓存使用
GET /_nodes/stats/indices?filter_path=**.cache

# 查看打开的索引
GET /_cat/aliases?v

注意事项 #

  1. 静态配置:修改需要重启节点
  2. 清理开销:频繁清理会增加系统开销
  3. 资源释放:更频繁的清理可更快释放资源
  4. 与索引生命周期配合:配合 ILM 使用效果更佳
  5. 平衡性能与资源:根据资源压力调整间隔