--- title: "处理器数量配置" date: 2026-02-25 lastmod: 2026-02-25 description: "设置节点可用处理器线程数量的配置说明" tags: ["处理器配置", "性能配置", "线程配置"] summary: "配置项概述 # processors 配置项设置节点可用的处理器(CPU 核心)线程数,影响系统的并发处理能力。 配置项 默认值 说明 processors 自动检测 处理器数量 配置说明 # processors # 配置项作用:设置节点可用的处理器线程数。此配置影响线程池大小、并发处理能力等。 默认值:自动检测(通常等于 CPU 核心数) 配置类型:静态配置 取值范围:1 ~ 正整数 配置格式: # 默认配置:自动检测 processors: 48 # 手动指定 processors: 16 # 限制处理器数 processors: 8 工作原理 # 自动检测 # ┌─────────────────────────────────────────────────────────────────┐ │ 处理器自动检测 │ └─────────────────────────────────────────────────────────────────┘ 启动时检测 │ ├── 获取 CPU 核心数 │ ├── 设置 processors = CPU 核心数 │ └── 影响以下组件: ├── 线程池大小 ├── 并发任务数 └── 索引/搜索性能 使用场景 # 自动检测(默认) # # 系统自动检测 processors: 48 # 48 核 CPU 适用场景:" --- ## 配置项概述 `processors` 配置项设置节点可用的处理器(CPU 核心)线程数,影响系统的并发处理能力。 | 配置项 | 默认值 | 说明 | |--------|--------|------| | `processors` | 自动检测 | 处理器数量 | --- ## 配置说明 ## processors **配置项作用**:设置节点可用的处理器线程数。此配置影响线程池大小、并发处理能力等。 **默认值**:自动检测(通常等于 CPU 核心数) **配置类型**:静态配置 **取值范围**:`1 ~ 正整数` **配置格式**: ```yaml # 默认配置:自动检测 processors: 48 # 手动指定 processors: 16 # 限制处理器数 processors: 8 ``` --- ## 工作原理 ## 自动检测 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 处理器自动检测 │ └─────────────────────────────────────────────────────────────────┘ 启动时检测 │ ├── 获取 CPU 核心数 │ ├── 设置 processors = CPU 核心数 │ └── 影响以下组件: ├── 线程池大小 ├── 并发任务数 └── 索引/搜索性能 ``` --- ## 使用场景 ## 自动检测(默认) ```yaml # 系统自动检测 processors: 48 # 48 核 CPU ``` **适用场景**: - 物理机部署 - 虚拟机完整资源 - CPU 资源充足 ## 手动指定(容器环境) ```yaml # 容器环境:根据容器配额设置 processors: 4 ``` **适用场景**: - Docker/Kubernetes 容器 - CPU 限制环境 - 共享主机资源 ## 限制处理器数 ```yaml # 限制使用的处理器数 processors: 8 ``` **适用场景**: - 资源受限环境 - 多实例部署 - 非专用节点 --- ## 对线程池的影响 ## 通用线程池 ``` thread_pool.generic.max = processors * 2 thread_pool.generic.core = processors / 2 ``` ## 写入线程池 ``` thread_pool.write.size = processors ``` ## 搜索线程池 ``` thread_pool.search.size = (processors / 3) + 1 ``` --- ## 推荐配置 ## 物理机环境 ```yaml # 使用自动检测值 # processors: 自动检测 ``` ## 容器环境 ```yaml # 根据容器配额设置 processors: 4 ``` ## 资源受限环境 ```yaml # 限制处理器使用 processors: 2 ``` ## 高性能环境 ```yaml # 使用所有可用核心 processors: 48 ``` --- ## 容器环境配置 ## Docker ```yaml # docker-compose.yml services: easysearch: image: infinilabs/easysearch:latest environment: - ES_JAVA_OPTS="-Xms4g -Xmx4g" deploy: resources: limits: cpus: '4' # easysearch.yml processors: 4 ``` ## Kubernetes ```yaml # Deployment resources: limits: cpu: "4" requests: cpu: "2" # easysearch.yml processors: 4 ``` --- ## 监控和验证 ## 查看处理器配置 ```bash # 查看节点信息 GET _nodes/stats ``` ## 检查线程池 ```bash # 查看线程池状态 GET _cat/thread_pool?v ``` --- ## 注意事项 1. **重启生效**:修改此配置需要重启节点 2. **容器环境**:容器中需要手动设置 3. **过度订阅**:不要设置超过实际可用的 CPU 核心数 4. **线程池**:影响多个线程池的大小 5. **性能调优**:根据实际负载调整