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

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

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

查找 Linux 打开文件限制 

# cat /proc/sys/fs/file-max  
365004 
  • 1.
  • 2.

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

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

在 Linux 中检查硬限制 

# ulimit -Hn  
65535 
  • 1.
  • 2.

检查 Linux 中的软限制 

# ulimit -Sn  
65535 
  • 1.
  • 2.

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

例如: 

# su rumenz  
$ ulimit -Sn  
1024  
  • 1.
  • 2.
  • 3.
$ ulimit -Hn  
1024 
  • 1.
  • 2.

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

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

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

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

# sysctl -w fs.file-max=500000 
  • 1.

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

$ cat /proc/sys/fs/file-max 
  • 1.

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

# vi /etc/sysctl.conf 
  • 1.

添加以下行:

fs.file-max=500000

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

# cat /proc/sys/fs/file-max 
  • 1.

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

# sysctl -p 
  • 1.

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

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

# vi /etc/security/limits.conf 
  • 1.

格式: 

<domain>        <type>  <item>  <value> 
  • 1.

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

## Example hard limit for max opened files  
rumenz        hard nofile 4096  
## Example soft limit for max opened files  
rumenz        soft nofile 1024  
  • 1.
  • 2.
  • 3.
  • 4.

 

责任编辑:庞桂玉 来源: 良许Linux
相关推荐

2020-12-14 10:50:13

Linux命令文件

2009-05-07 14:18:21

2021-01-27 10:56:05

Linux运维Linux系统

2023-10-29 16:14:07

2009-06-02 08:44:52

微软Windows 7操作系统

2018-11-13 11:09:46

Linux服务器指标限制

2010-03-29 15:57:34

2011-01-21 13:29:03

Sendmail

2024-01-31 13:03:00

2009-08-16 19:25:12

linux中touchtouch命令参数linux命令行参数

2021-01-19 08:07:50

Linux日期文件

2014-05-22 10:25:44

Umask 值Linux

2009-01-12 08:04:27

Windows 7DVD镜像数量限制

2011-09-02 14:43:22

phonegapdatabase浏览器

2018-02-05 09:15:17

Linux命令文件数量

2022-06-20 05:18:29

服务器CPU

2009-09-07 09:20:34

2017-01-06 22:08:32

LinuxShell命令

2010-03-05 15:02:09

Linux文件编码

2021-03-04 11:49:19

MySQL账号IP
点赞
收藏

51CTO技术栈公众号