首页 > 编程语言 >如何调整ulimit打开文件数限制

如何调整ulimit打开文件数限制

来源:互联网 2026-07-03 08:03:17

Linux下文件数限制:临时用`ulimit-n`,永久修改按系统类型:Systemd编辑`/etc/systemd/system.conf`,SysVinit编辑`/etc/security/limits.conf`,用户级写入`~/.bashrc`。调整需合理,避免过高导致性能下降。

其实,很多人在 Linux 下做高并发服务或者跑数据库时,都会遇到一个烦心事儿——打开文件数的限制。系统默认的 1024 个文件描述符,对于稍微正经点的应用来说,简直是“紧箍咒”。别慌,这事说难不难,但也有一些门道需要注意。

如何调整ulimit打开文件数限制

长期稳定更新的攒劲资源: >>>点此立即查看<<<

要搞清楚当前系统对你“关了多少扇门”,最直接的办法就是打开终端,敲一句:ulimit -n。这时候屏幕上大概率回显一个类似 1024 的数字。没错,这就是你的应用最多能同时打开的**文件句柄数**——对很多服务来说,这远远不够。

如果你只是想临时救个急,比如跑个测试或者临时调整一下,可以这样操作:

ulimit -n <新的限制值>

<新的限制值> 换成你想要的数字,比如 ulimit -n 2048。不过必须泼盆冷水:这个改动只在当前终端窗口有效,一旦你关掉终端或者重启系统,一切都会回到解放前。

那么,想彻底根治这个问题,怎么弄?这就得看你的系统“底子”了。

永久性调整方案

系统级的“硬杠杠”

如果你的系统是跑在 Systemd 上的(比如 Ubuntu 16.04 以上的版本),那得直接动 /etc/systemd/system.conf 这个文件。在里面找到或者直接添加这么一行:

DefaultLimitNOFILE=<新的限制值>

保存退出之后,别忘了执行 sudo systemctl daemon-reload 让配置生效。这个办法影响的是系统全局拉起的服务。

对于还在用老派 SysVinit 的系统(比如 Ubuntu 14.04 那一代),惯例是去编辑 /etc/security/limits.conf。加上这两行:

* soft nofile <新的限制值>
* hard nofile <新的限制值>

这里 soft 是软限制,hard 是硬限制——通常软限制不能超过硬限制。改完之后,重新登录或者重启系统才能生效。

Shell 层面的“小动作”

如果你只想针对某个特定用户(比如你自己)做一些调整,那可以换个思路。在 ~/.bashrc 里加一行 ulimit -n <新的限制值>。每次打开新终端,这个设置就会自动生效。如果想要影响所有登录用户,那就写到 /etc/profile.d/custom_limits.sh 里,然后记得运行 source ~/.bashrc 或者重新登录。

最后提醒一句:调整打开文件数限制,本质上是在给系统“松绑”。如果你直接把限制调到一个离谱的高值,比如几百万,那可能会让系统内存吃紧,甚至拖慢整体性能。所以,建议根据实际业务需求来设置——既要够用,又要留点余地,这才是专业的做法。

侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述

热游推荐

更多
湘ICP备14008430号-1 湘公网安备 43070302000280号
All Rights Reserved
本站为非盈利网站,不接受任何广告。本站所有软件,都由网友
上传,如有侵犯你的版权,请发邮件给xiayx666@163.com
抵制不良色情、反动、暴力游戏。注意自我保护,谨防受骗上当。
适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。