Linux默认值open files和max user processes为1024
ulimit -n
1024
ulimit Cu
1024
问题描述:
说明server只允许同时打开1024个文件,处理1024个用户进程
使用ulimit -a可以查看当前系统饿所有限制值,使用ulimit -n可以查看当前的最大打开文件数
新装的linux默认只有1024,当作负载较大的服务器时
容易遇到erro:too many open files
需要将其改大
解决方法:
使用ulimit Cn 65535可以及时修改,但重启后就无效了。
(ulimit -SHn 65535等效ulimit -n 65535,-S,soft,-H,hard)
有三种修改方式:
- 在/etc/rc.local中增加一行 ulimit -SHn 65535
- 在/etc/profile中增加一行 ulimit -SHn 65535
- 在/etc/security/limits.conf 最后增加
*soft nofile 65535
*hard nofile 65535
*soft nproc 65535
*hard nproc 65535
具体使用哪种,在 CentOS 中使用第1 种方式无效果,使用第3 种方式有效果
而在Debian 中使用第2 种有效果
ulimit -n
65535
ulimit -u
65535
备注:ulimit 命令本身就有分软硬设置,加-H 就是硬,加-S 就是软默认显示的是软限制
soft 限制指的是当前系统生效的设置值。 hard 限制值可以被普通用户降低。但是不能增加。 soft 限制不能设置的比 hard 限制更高。 只有 root 用户才能够增加 hard 限制值。
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决