---
title: 操作系统内核版本 3.10 下使用 cgroup 部署 OBServer 存在线程卡住或进程挂掉的风险的原因及解决方法-OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 操作系统内核版本 3.10 下使用 cgroup 部署 OBServer 存在线程卡住或进程挂掉的风险的原因及解决方法相关的常见问题和使用技巧，帮助您快速解决 操作系统内核版本 3.10 下使用 cgroup 部署 OBServer 存在线程卡住或进程挂掉的风险的原因及解决方法的难题。
---
切换语言

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

划线反馈

# 操作系统内核版本 3.10 下使用 cgroup 部署 OBServer 存在线程卡住或进程挂掉的风险的原因及解决方法

更新时间：2025-07-31 09:26

适用版本： V3.1.x、V3.2.x、V4.0.x、V4.1.x、V4.2.x 内容类型：TechNote  

## 问题现象

在操作系统内核版本为 3.10 的操作系统，使用 `cgroup` 方式部署 OBServer，存在着系统宕机的风险。

## 问题原因

旧版本操作系统内核的 BUG，在操作系统内核版本为 3.10 时使用 `cgroup` 可能会导致系统宕机。

## 关键信息

需满足操作系统内核版本 `kernel version==3.10.0` 且 OBServer 开启了`cgroup`。

1. 检查操作系统内核版本。

   使用 `uname -r` 命令，示例如下。

   ```shell
   [admin@xxx /home/admin]
   $uname -r
   3.10.0-327.xxx.xxx.x86_64

   ```

   结果开头的 3.10.0 为操作系统内核版本。
 2. 检查 OBServer 是否开启了cgroup。

      - 对于 OceanBase 数据库 V3.2.3 及以下的版本，OBServer 通过检查 OBServer 工作目录下是否存在 `cgroup` 软链接来开启或关闭 `cgroup`。
      - 对于 OceanBase 数据库 V3.2.4 及以上的版本，OBServer 需要保证 `enable_cgroup` 配置项为 True 且 OBServer 工作目录下存在 `cgroup` 软链接来开启 `cgroup`。

            - a. 检查 OBServer 工作目录下是否存在 `cgroup` 软链接，示例如下。

             ```shell
             $ll /home/admin/observer
             total 84
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 29 16:27 admin
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 31 15:47 audit
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 29 16:27 bin
             lrwxrwxrwx 1 zhangjuecheng.zjc users    29 Jul 31 15:47 cgroup -> /sys/fs/cgroup/cpu/oceanbase/
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 29 18:12 etc
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 29 18:12 etc2
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 29 18:12 etc3
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 29 16:27 lib
             drwxr-xr-x 3 zhangjuecheng.zjc users 32768 Jul 31 15:46 log
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 29 16:27 plugin_dir
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 31 15:47 run
             drwxr-xr-x 5 zhangjuecheng.zjc users  4096 Jul 29 16:27 store
             drwxr-xr-x 2 zhangjuecheng.zjc users  4096 Jul 29 16:27 tools
             drwxr-xr-x 3 zhangjuecheng.zjc users  4096 Jul 29 16:27 wallet

             ```

             存在软链接 `cgroup -> /sys/fs/cgroup/cpu/oceanbase/`。
            - b. 检查 `enable_cgroup` 配置项。

             ```shell
             obclient> show parameters like 'enable_cgroup';
             +-------+----------+-----------+----------+---------------+-----------+-------+---------------------------------------------------------------------------------------------------------+----------+---------+---------+------------------+---------------+-----------+
             | zone  | svr_type | svr_ip    | svr_port | name          | data_type | value | info                                                                                                    | section  | scope   | source  | edit_level       | default_value | isdefault |
             +-------+----------+-----------+----------+---------------+-----------+-------+---------------------------------------------------------------------------------------------------------+----------+---------+---------+------------------+---------------+-----------+
             | zone1 | observer | 127.0.0.1 |    49101 | enable_cgroup | NULL      | True  | when set to false, cgroup will not init; when set to true but cgroup root dir is not ready, print ERROR | OBSERVER | CLUSTER | DEFAULT | STATIC_EFFECTIVE | True          |         1 |
             +-------+----------+-----------+----------+---------------+-----------+-------+---------------------------------------------------------------------------------------------------------+----------+---------+---------+------------------+---------------+-----------+
             1 row in set (0.03 sec)

             ```

             此 OBServer 的 `enable_cgroup` 配置项值为 True。

## 问题的风险及影响

OBServer 卡住或者挂掉，集群不可用。

## 适用版本

OceanBase 数据库 V3.x、V4.x 版本。

## 解决方法

将操作系统内核版本升级为 OBServer 支持的更新版本，例如 5.10 版本，4.19 版本等，同时 OBServer 也需要使用对应内核版本的镜像来部署。 推荐 OceanBase 数据库 V4.x 版本的 OBServer 升级操作系统内核版本为 5.10，在 4.19 内核上 OBServer 可能存在一定的性能回退问题，而 OceanBase 数据库 V3.x 版本的 OBServer 由于没有适配过操作系统内核版本 5.10，只可使用内核 4.19。

**各云厂商推荐 OS 版本如下：**

- **阿里云：** alinux 3 (5.10)。
 - **华为云：** Huawei Cloud EulerOS 2.0 标准版，对应 Linux kernel 版本 5.10。
 - **腾讯云：** TencentOS Server 内核（简称 tkernel）当前主力内核版本 5.4。
 - **百度云：** BaiduLinux 3.0 (5.10)。
 - **AWS：** redRed Hat Enterprise Linux 9 (HVM) ，对应 Linux kernel 版本 5.10。
 - **GCP：** debian-11（5.10）。

## 规避方式

通过关闭 `cgroup` 功能临时规避，需要注意的是，不重启 OBServer 是无法彻底关闭 `cgroup` 的。

a）对于 OceanBase 数据库 V3.2.4 及更新版本设置 `enable_cgroup` 配置项为 False。

```shell
obclient> alter system set enable_cgroup=False;
Query OK, 0 rows affected (1.06 sec)

```

b）删除 OBServer 工作目录下的 `cgroup` 软链接并重启 OBServer。

```shell
rm -rf ./cgroup

```

上一篇

[创建 OBServer 的用户名太长无法连接集群的原因和解决方法](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000001640078)

下一篇

[cgroup 丢失，导致 OCP 租户 CPU 监控数据异常为 0 问题](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000002342356) ![有帮助](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) 咨询热线
