商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > ulimit如何调整用户并发连接数

ulimit如何调整用户并发连接数

  发布于2026-07-12 阅读(0)

扫一扫,手机访问

说到服务器并发连接数的调整,很多人第一反应是修改内核参数或者调应用配置。但有一个基础环节经常被忽略——ulimit 命令。它控制的是 shell 进程的资源限制,而文件描述符的数量直接决定了你的应用能同时撑起多少个连接。搞不定这块,其他优化做得再花哨也是白搭。

ulimit如何调整用户并发连接数

咱们直接上操作步骤,从临时调整到永久生效,一步一步拆清楚。

第一步:打开终端,先看一眼当前的文件描述符限制

执行下面的命令:

ulimit -n

返回的数字就是当前会话允许的最大文件描述符数量。说白了,并发连接数基本就被这个数卡着。如果它很小(比如 1024),而你跑的服务稍微有点流量,马上就会碰到“too many open files”的报错。

第二步:临时调整,临时解决燃眉之急

如果只是想在当前 shell 里把限制放宽,直接用 ulimit 设置新值就行。比如要改成 4096:

ulimit -n 4096

注意,这个改动只在当前终端窗口有效。一旦你关掉终端或者退出登录,一切就回到解放前。所以它适合临时调试,或者短时间跑个测试任务。

第三步:永久调整,一劳永逸的方法

要想每次登录都能自动生效,得去改 /etc/security/limits.conf 这个文件。用编辑器打开它,比如:

sudo nano /etc/security/limits.conf

在文件末尾添加这么两行,把 替换成你想要的数值:

* soft nofile 
* hard nofile 

这里解释一下规则。* 表示对所有用户生效,你也可以换成具体的用户名。soft 是软限制,用户可以在自己权限范围内临时调大它;hard 是硬限制,用户最大能到多少就是多少,不能再超。通常把软硬限制设成同一个值,免得后面踩坑。

举个例子,把所有用户的文件描述符上限设为 4096,添加:

* soft nofile 4096
* hard nofile 4096

保存退出后,必须重新登录或者重启系统,改动才会生效。光停在当前会话里是没用的。

第四步:验证一下,别白忙一趟

重新登录后,再用一次 ulimit -n 看看:

ulimit -n

如果返回的值是你刚设置的那个数,恭喜,调整成功。如果没变,检查一下 limits.conf 的语法,或者确认你是否属于 pam_limits 模块的生效范围——某些系统默认不加载这个模块,需要额外配置。

最后补充一个常见坑:有些发行版(比如 Ubuntu)默认启用了 systemd 的用户服务,这时 limits.conf 可能被覆盖。如果系统里用了 systemd 管理你的服务进程,还需要去修改对应服务单元的 LimitNOFILE 参数。但这已经是另一回事了,今天咱们先把 ulimit 这块理清楚。

本文转载于:https://www.yisu.com/ask/39244775.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注