夜微凉、的博客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  76 随笔 :: 24 文章 :: 22 评论 :: 24万 阅读

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)

有三种修改方式:

  1. 在/etc/rc.local中增加一行 ulimit -SHn 65535
  2. 在/etc/profile中增加一行 ulimit -SHn 65535
  3. 在/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 限制值。

【原文转载】https://www.jianshu.com/p/8f95bdaedd9e

posted on   夜、微凉  阅读(3767)  评论(0编辑  收藏  举报
编辑推荐:
· 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语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示