---
title: S920X00服务器CRM集群OS文件句柄升高问题案例分析-官方技术文章-鲲鹏社区
description: 介绍S920X00服务器运行CRM集群时因zookeeper开源软件bug导致客户端持续创建socket无法释放使文件句柄耗尽的补丁合入方案。
keywords: CRM,OS,服务器,集群,文件句柄升高,问题案例分析,官方技术文章,鲲鹏社区
url: https://www.hikunpeng.com/developer/techArticles/20260630-7?envFlag=1
section: (其他)
---

# S920X00服务器CRM集群OS文件句柄升高问题案例分析-官方技术文章-鲲鹏社区

URL: https://www.hikunpeng.com/developer/techArticles/20260630-7?envFlag=1
描述: 介绍S920X00服务器运行CRM集群时因zookeeper开源软件bug导致客户端持续创建socket无法释放使文件句柄耗尽的补丁合入方案。
关键词: CRM,OS,服务器,集群,文件句柄升高,问题案例分析,官方技术文章,鲲鹏社区

官方技术文章 [了解详情](https://www.hikunpeng.com/zh/developer/techArticles)

S920X00服务器CRM集群OS文件句柄升高问题案例分析

S920X00服务器CRM集群OS文件句柄升高问题案例分析

案例分享鲲鹏硬件

发表于 2026/06/30

0

## 1 问题现象描述

### 硬件配置

- 型号：S920X00
- 配置：BCLinux 21.10 + CRM业软应用

### 问题现象

客户GTS业软CRM集群orderbatch、reportappbatch、prodcenter、invoice等应用进程出现文件句柄过高，达到OS配置上限600w，导致OS无法登录、监测平台出现告警。

告警信息：`VFS: file-max limit 6815744 reached`

## 2 关键过程与根因分析

### 关键过程

Step 1：SAR日志分析

分析异常服务器的sar日志发现2月5日14:50主机的进程数呈现大量增长趋势，伴随文件句柄数增加，增长时间对应重启zookeeper时间。

Step 2：故障关联分析

客户反馈出现异常前集群服务器应用、zookeeper均处于异常状态。初步分析为zookeeper异常导致触发OS文件句柄达到上限。

Step 3：实验室复现

实验室部署测试环境，重启ZK节点主机，使ZK处于异常状态，出现文件句柄数持续增长现象，句柄从2w持续增长到8+w。

Step 4：句柄类型分析

应用进程增长的句柄类型主要是socket。

Step 5：内核监测

OS侧通过strace监测内核创建socket的函数sys_socket，发现存在大量创建Socket的动作，每分钟创建350个socket，进程socket句柄数每分钟增长175个。

Step 6：进程定位

统计strace创建socket的进程，均为应用进程。

Step 7：ZK日志分析

分析ZK应用日志，持续打印ZK连接失败、DNS域名解析异常。

Step 8：问题验证

ZK应用后句柄数下降。

Step 9：根因确认

排查发现zookeeper开源软件存在已知问题，当ZK服务端异常时，客户端无法连接到ZK服务端导致持续创建socket并且无法正常释放，最终出现句柄持续增长。

Step 10：补丁验证

实验室验证修复补丁，合入修复补丁的应用进程句柄数量不再增长，没有合入修复补丁的应用进程句柄数仍然持续增长。

### 根因分析

zookeeper开源软件存在已知问题，当ZK服务端异常时，客户端无法连接到ZK服务端导致持续创建socket并且无法正常释放，最终出现句柄持续增长。

## 3 结论、解决方案及效果

### 结论

zookeeper开源软件存在已知问题，当ZK服务端异常时会导致客户端socket句柄持续增长，最终耗尽系统资源。

### 解决方案

zookeeper合入修复补丁，补丁链接为：https://github.com/apache/zookeeper/pull/2047 [了解详情](https://github.com/apache/zookeeper/pull/2047)

### 效果

合入修复补丁后，即使ZK服务端异常，客户端也不会出现socket句柄持续增长的问题。

## 4 经验总结与预防措施

### 经验总结

1. 文件句柄为OS侧用户态申请的一种系统资源
2. 如果出现文件句柄异常升高，建议优先联系上层应用侧进行分析
3. zookeeper开源软件已知问题需要及时合入修复补丁

### 预防措施

1. 监测zookeeper服务状态，及时处理异常
2. 关注zookeeper开源社区的已知问题修复

本页内容
