---
title: 创建集群时 bootstrap 报错：thread count reach limit-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 创建集群时 bootstrap 报错：thread count reach limit相关的常见问题和使用技巧，帮助您快速解决 创建集群时 bootstrap 报错：thread count reach limit的难题。
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

划线反馈

# 创建集群时 bootstrap 报错：thread count reach limit

更新时间：2026-05-07 06:36

适用版本： V2.1.x、V2.2.x、V3.1.x、V3.2.x 内容类型：Troubleshoot  

## 适用版本

- OceanBase 数据库 V2.x、V3.x 版本。
 - OBServer 服务器 CPU 核数较多的场景（比如常见的海光 256C 服务器）。

## 问题现象

通过 OCP 在机器 CPU 核数较多的 OBServer 服务器上（比如常见的海光 256C 服务器）安装 OceanBase 数据库 V2.x、V3.x 版本时，在 `Bootstrap ob` 这一步会遇到如下的报错：

![1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/deploy/bootstrap-failed/bootstrap-error-while-creating-cluster-thread-count-reach-limit-1.png)

observer.log 中相关报错如下：

```shell
[2024-02-22 16:39:37.475419] ERROR issue_dba_error (ob_log.cpp:2328) [221784][0][Y0-0000000000000000-0-0] [lt=4] [dc=0][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4019, file="thread.cpp", line_no=99, info="thread count reach limit")
[2024-02-22 16:39:37.475429] INFO  ob_page_manager.cpp:57 [225771][0][Y0-0000000000000000-0-0] [lt=0] [dc=0]  REACH SYSLOG RATE LIMIT
[2024-02-22 16:39:37.475430] EDIAG [LIB] thread.cpp:99 [221784][0][Y0-0000000000000000-0-0] [lt=9] [dc=0][errcode=-4019] thread count reach limit(ret=-4019, current count=3968) BACKTRACE:0x1132b720 0x11312824 0x5f5c9eb 0x5f5c538 0x5f5c2b4 0x5f81c74 0x10ca9724 0x10ca92fb 0x10ca8716 0x10ca8f34 0x11d2a5f1 0x11d29df7 0xcef3905 0x5f59da0 0x7f43d97956a3 0x5f58876
[2024-02-22 16:39:37.475506] INFO  [COMMON] ob_io_struct.cpp:2834 [225771][0][Y0-0000000000000000-0-0] [lt=63] [dc=0] io callback thread started(thread_idx=7)

```

## 问题原因

OBServer 数据库服务进程是一个单进程多线程的架构，在 OceanBase 数据库 V2.x、V3.x 版本中正常一个 OBServer 空载进程至少都会启动 1200 个以上的子线程。其中一些功能模块的线程数量跟 OBServer 服务器的机器 CPU 核数强相关，比如 OceanBase 数据库 V2.x、V3.x 版本中默认的网络线程 MysqlIO/RpcIO 的数量 = max(6, 机器 CPU_NUM/8)。而单个租户的活跃工作线程数则等于分配给该租户的 `min_cpu * cpu_quota_concurrency`，因此，创建的业务租户越多，产生的工作线程数也越多。

目前在 OceanBase 数据库 V2.x、V3.x 版本中，一个 OBServer 进程默认可以产生的线程数上限受下面的隐藏配置项控制：

```shell
obclient > select * from __all_virtual_sys_parameter_stat where name='_ob_max_thread_num';

```

该配置项为 CLUSTER 级别，默认值为 4096，取值范围为 [4096, 10000)，动态生效。

因此，如果当前 OBServer 进程的线程总数已经达到了默认的上限值，则 OBServer 内核不会允许继续产生新的线程，相关的日志中也会产生对应的线程数超限的报错！

在以下场景下，一个 OBServer 进程所有的线程数可能会超过原 4096 上限而报错：

- 业务开启了大量 PX 并行执行的场景。
 - 机器 CPU 核数较多时（如海光 256c）。

## 解决方法

- 在创建 OceanBase 集群时，手工调整内部隐藏配置项 `_ob_max_thread_num` 的取值，将该参数值从默认的 4196 调整为更大的数值，比如 8192：

  ![2](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/knowledge-base/database/deploy/bootstrap-failed/bootstrap-error-while-creating-cluster-thread-count-reach-limit-2.png)
 - 在 OceanBase 集群创建成功后，登录 sys 租户，调整 `_ob_max_thread_num` 的值。

  ```shell
  obclient> alter system set _ob_max_thread_num=8192;
  Query OK, 0 rows affected (0.05 sec)

  ```

Previous

[bootstrap 报错，小于最小资源池内存限制](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210123)

Next

[创建集群时 bootstrap 报错：diskspace is not enough](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001601314) ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
