---
title: OBServer 启动中途退出，ulimit 配置不生效 -OceanBase数据库使用指南
description: 了解OceanBase数据库在实际应用中关于 OBServer 启动中途退出，ulimit 配置不生效 相关的常见问题和使用技巧，帮助您快速解决 OBServer 启动中途退出，ulimit 配置不生效 的难题。
---
切换语言

- 简体中文
- English

划线反馈

# OBServer 启动中途退出，ulimit 配置不生效

更新时间：2026-05-06 09:11

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

本文介绍由于 ulimit 配置不生效导致 OBServer 启动中途退出时，应该如何处理。

## 适用版本

OceanBase 数据库 V2.2.50 （不含 V2.2.50）以下的版本

## 问题现象

默认情况下，服务器默认的 ulimit 的栈大小为 8192。

通过安装脚本部署 OBServer 的过程中，OBServer 首次启动中途退出。使用 `ulimit -a` 查看栈大小配置，发现 `stack size` 的值为 1024，说明默认配置未生效，栈大小受到了操作系统的限制。

```shell
[admin@hostname /]$ ulimit -a
...
stack size              (kbytes, -s) 1024
...

```

#### 说明

OceanBase 数据库的主线程依赖 ulimit 配置，如果您的服务器配置较低，建议 stack size 配置不低于 4M，即不低于 4096。

此时，使用 `admin` 用户通过 `ulimit -s` 命令修改栈大小，操作系统报错 `cannot modify limit: Operation not permitted`。

## 可能原因

admin 用户 ulimit 配置未生效的原因可能是由于操作系统关闭了 PAM，PAM 用于限制登录用户的 ulimit 配置，如果不开启 PAM，则会使用 SSHD 的默认值（即 1024）。

操作系统报错 `cannot modify limit: Operation not permitted` 的问题是由于 `admin` 用户是通过 SSH 登录到物理机进行 ulimit 配置的修改，因此无法直接修改栈大小。

1. 查看 `/etc/security/limits.conf`，检查文件配置。

   ```shell
   [root@hostname /]# cat /etc/security/limits.conf

   ```
 2. 查看`/etc/ssh/sshd_config`，发现 UsePAM 行被注释。

   ```shell
   ...
   #UsePAM yes
   ...

   ```

## 解决方法

1. 修改 `/etc/ssh/sshd_config`，删除 `#UsePAM yes` 行前的井号（#）。
 2. 重启 sshd。

   ```shell
   [root@hostname /]# /etc/init.d/sshd restart

   ```
 3. 手动执行 ulimit 设置。

   ```shell
   [root@hostname /]# ulimit -s 4096

   ```
 4. 分别检查 root 用户与 admin 用户的 ulimit 配置是否正确。

   ```shell
   [root@hostname /]# ulimit -a
   core file size          (blocks, -c) unlimited
   data seg size           (kbytes, -d) unlimited
   scheduling priority             (-e) 0
   file size               (blocks, -f) unlimited
   pending signals                 (-i) 2062700
   max locked memory       (kbytes, -l) 64
   max memory size         (kbytes, -m) unlimited
   open files                      (-n) 655360
   pipe size            (512 bytes, -p) 8
   POSIX message queues     (bytes, -q) 819200
   real-time priority              (-r) 0
   stack size              (kbytes, -s) 4096
   cpu time               (seconds, -t) unlimited
   max user processes              (-u) 165535
   virtual memory          (kbytes, -v) unlimited
   file locks                      (-x) unlimited

   [root@hostname /]# su admin
   [admin@hostname /]$ ulimit -a
   core file size          (blocks, -c) unlimited
   data seg size           (kbytes, -d) unlimited
   scheduling priority             (-e) 0
   file size               (blocks, -f) unlimited
   pending signals                 (-i) 2062700
   max locked memory       (kbytes, -l) 64
   max memory size         (kbytes, -m) unlimited
   open files                      (-n) 655360
   pipe size            (512 bytes, -p) 8
   POSIX message queues     (bytes, -q) 819200
   real-time priority              (-r) 0
   stack size              (kbytes, -s) 4096
   cpu time               (seconds, -t) unlimited
   max user processes              (-u) 165535
   virtual memory          (kbytes, -v) unlimited
   file locks                      (-x) unlimited

   ```

Previous

[启动 OBServer 时报错 pid already exists](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210126)

Next

[安装 OceanBase 集群使用的 admin 用户的 uid 变化导致 OBServer 启动失败](https://www.oceanbase.com/knowledge-base/oceanbase-database-1000000000210127) ![有帮助](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) 咨询热线
