首页 > 原创文章 > 技术应用 > 查看文章

Linux服务器连接数增加后挂掉的故障分析和解决方法

所属分类:技术应用 来源: 丁老师原创 更新时间:2026-04-16 10:38 浏览: 878 IP属地: 深圳

有同学咨询,他们公司的一台服务器,是一台Linux用作负载均衡的服务器,最近在使用过程中,随着连接数的增加,服务器突然挂掉了,这是怎么回事呢?今天丁老师就这个问题做一下解答。

故障分析
服务器:Linux
用途:负载均衡服务
故障情况:用户连接数增加,服务器挂掉。

故障排查:
1.应用程序故障:通过测试,无Bug报错,应用程序正常。
2.系统故障:无,系统无报错,仅用户连接增加到一定程度后才会崩溃。

猜测与分析:
在确定不是系统本身和部署的程序故障而导致的问题后,丁老师心里已大概有了方向,估计就是哪个地方的配置引起的故障,意思就是某个地方配置的连接数量达到了实际连接数量的峰值而导致的系统崩溃。

故障修复
在确定了大概方向后,丁老师对相关的系统文件进行了逐一排查。
1.首先,分别查看系统CPU负载情况、内存是否爆满、load是否异常。

top
htop
uptime

2.一切正常,其次查看系统连接数。

netstat -an | wc -l
ulimit -n

此时发现,系统连接数非常高,并且文件句柄返回1024,此时丁老师判断该问题大致是由高并发引起的故障。

3.查看Nginx服务器日志,检查报错信息。

tail -f /var/log/nginx/error.log

在错误日志中,查看到返回too many open files信息,再查看系统日志。

/var/log/messages
dmesg

返回socket: too many open files。这时丁老师已经可以判断,这基本上是由高并发引起文件句柄被耗尽而引发的故障。

4.查看limits.conf

/etc/security/limits.conf

5.增加连接数

soft nofile 65535
hard nofile 65535

6.修改系统配置

/etc/systemd/system.conf
/etc/systemd/user.conf

DefaultLimitNOFILE=65535
DefaultLimitNPROC=65535

7.给Nginx加大文件句柄。

vi /usr/lib/systemd/system/nginx.service

LimitNOFILE=65535

8.重启服务器,故障解决。

全文总结
通过该问题发现,该故障引起的核心是Linux服务器在高并发情况下,因文件句柄上限过低(默认设置为1024),导致连接耗尽,服务崩溃,同时相关配置是未持久化的,因此每次重启后,都会恢复默认值从而再次引起故障。

这种故障出现时通常表现为:
1.网站突然打不开、请求超时。
2.并发一高服务器就崩溃宕机。
3.服务器重启后会短暂恢复,但很快就再次崩溃。

常见错误日志:

too many open files
EMFILE
socket: too many open files

针对该故障,丁老师先是通过查看系统负载、连接数以及错误日志,快速定位是由文件句柄耗尽引起的故障。然后在解决时,通过修改Nginx的limits.conf、调整systemd的LimitNOFILE等配置文件参数,提升系统的文件句柄数配置,避免因高并发导致处罚文件句柄上限而引起崩溃的问题。


标签:

相关文章

OpenClaw大龙虾接入QQ的方法

一、创建QQ机器人1.打开网址(https://q.qq.com/qqbot/openclaw/login.html),用手Q扫码登录。2.登录成功后,点击按钮“创建机器人”。3.创建后,会给出一个AppId和AppSecret,如图。...

ComfyUI配置要求是什么?如何安装搭建?

ComfyUI是一款强大的视觉创作引擎,可实现用AI创作视频,支持视频模型的可视化管理、精细控制、节点化、工作流等(详见:《ComfyUI能做什么?使用ComfyUI需要付费吗?》),是AIGC圈内的最专业最主流的工具之一。经常有同学咨...

PDF如何在网页中浏览并禁止下载?

如何实现PDF在网页中浏览,并且不允许被下载呢?有两种实现方法:方法一:直接使用Iframe,Iframe中嵌套pdf地址,这样在网页中该PDF只能被浏览,没有下载通道。<iframe frameborder="0&qu...

如何实现手机NFC碰一碰打开APP和小程序?...

各位同学端午安康~丁老师公司端午节放假,趁着休息,更新一下文章。因为前天刚好有一个同学咨询丁老师,问题是如何用手机碰一碰NFC,就自动打开APP或小程序。他的目的是想实现在电商平台销售的商品,贴上NFC芯片标签,然后用手机碰一碰就能自动...

推荐文章

fontawesome所有图标class类名...

fontawesome所有图标class类名单,适用于4.7.0版本。总计有593个图标class类(包含别名):fa-500pxfa-address-bookfa-address-book-ofa-address-cardfa-addre...

APP和小程序如何集成AI实现机器人客服?

有同学咨询丁老师,他们公司的小程序和APP,是属于C端的客户服务类APP,提供会员注册、下单、发货、订单查询、业务办理进度查看等模块。其中有一个功能是在线咨询,之前是对接的人工在线客服坐席咨询,在用户量大的时候,峰值可能同时需要5-8个客服...

国外VPS购买后如何登录?

国外很多VPS购买后,只有密码,没有登录账号,如何登录呢?我们以one.com为例,购买了VPS后,只能设置密码,但是用root,也无法登录,是怎么回事呢?查了官方文档,原来修改的VPS密码,不是root的,这个VPS默认的账号是admin...

二维码可以存储多少个信息?

二维码码有三个参数: 数据类型、大小(“像素 ”数)和纠错级别。能存储多少信息也取决于这些参数。例如,纠错级别越低,可存储的信息越多,但代码越难被读者识别。最大尺寸和最小纠错值如下:最大字符数 7089个字符(纯数字)字母数字 4296个字...