前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux中修改打开文件的数量限制

linux中修改打开文件的数量限制

作者头像
入门笔记
发布2022-06-02 16:28:53
3.3K0
发布2022-06-02 16:28:53
举报
文章被收录于专栏:入门小站入门小站

在 Linux中你可以更改打开文件的最大数量。你可以使用ulimit命令。它使你能够控制可用于 shell 或由它启动的进程的资源。

查找 Linux 打开文件限制

代码语言:javascript
复制
# cat /proc/sys/fs/file-max

365004

该值表示每次登录会话可以打开的文件数。不同系统结果可能会有所不同。

例如在一个 CentOS 我的服务器,限制设置为 365004

在 Linux 中检查硬限制
代码语言:javascript
复制
# ulimit -Hn

65535
检查 Linux 中的软限制
代码语言:javascript
复制
# ulimit -Sn

65535

要查看不同用户的硬值和软值,你可以su切换用户查看比较。

例如:

代码语言:javascript
复制
# su rumenz
$ ulimit -Sn
1024
代码语言:javascript
复制
$ ulimit -Hn
1024

如何在 Linux 中检查系统范围的文件描述符限制

如果你正在运行服务器,你的某些应用程序可能需要更高的打开文件描述符限制。一个很好的例子是MySQL/MariaDB 服务或 Apache 网络服务器。

你可以通过编辑内核指令来增加 Linux 中打开文件的限制 fs.file-maxsysctl用于在运行时配置内核参数。

例如,将打开文件限制增加到 500000,你可以以 root 身份使用以下命令:

代码语言:javascript
复制
# sysctl -w fs.file-max=500000

你可以使用以下命令检查打开文件的当前值:

代码语言:javascript
复制
$ cat /proc/sys/fs/file-max

使用上述命令,你所做的更改将仅在下次重新启动之前保持活动状态。如果你希望永久应用它们,则必须编辑以下文件:

代码语言:javascript
复制
# vi /etc/sysctl.conf

添加以下行:

fs.file-max=500000

也可以根据需要更改数量。

代码语言:javascript
复制
# cat /proc/sys/fs/file-max

用户需要注销并重新登录才能使更改生效。如果要立即应用限制,可以使用以下命令:

代码语言:javascript
复制
# sysctl -p

在 Linux 中设置用户级别打开文件限制

上面的示例展示了如何设置全局限制,但你可能希望对每个用户应用限制。root 用户需要编辑以下文件:

代码语言:javascript
复制
# vi /etc/security/limits.conf

格式:

代码语言:javascript
复制
<domain>        <type>  <item>  <value>

这是为用户设置软限制和硬限制的示例 rumenz用户:

代码语言:javascript
复制
## Example hard limit for max opened files
rumenz        hard nofile 4096
## Example soft limit for max opened files
rumenz        soft nofile 1024
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查找 Linux 打开文件限制
    • 在 Linux 中检查硬限制
      • 检查 Linux 中的软限制
      • 如何在 Linux 中检查系统范围的文件描述符限制
      • 在 Linux 中设置用户级别打开文件限制
      相关产品与服务
      云数据库 MySQL
      腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档