大家好,在本文中,我们将讨论如何更改 Linux 中的打开文件限制。
什么是打开文件限制?
这 打开文件限制 是用户在当前活动会话中可以打开的最大文件数。 大多数情况下,系统管理员、开发人员或使用 MySQL 或其他数据库管理系统 (DBMS) 的用户。 例如,在 MySQL 中,默认打开文件限制为 1024,但它会自动将其限制设置为系统的打开文件限制。 有两种类型的打开文件限制:
- 硬限制:这是可以更改软限制的最大值。 它只能由 root 用户更改。
- 软限制:这是任何用户或进程可以更改的打开文件限制。 它会在每个活动会话中临时更改。
检查 Linux 中的打开文件限制
我们可以检查硬限制和软限制使用 超限 命令。 要检查硬限制,我们将使用 -H
硬限制参数。 执行以下命令:
ulimit -Hn
要检查软文件限制,我们将使用 -S
软限制参数。 执行以下命令:
ulimit -Sn
要检查当前活动会话中可以打开的最大打开文件数,请执行以下命令:
cat /proc/sys/fs/file-max
这里,最大打开文件限制设置为 100000。硬限制为 1048576,软限制为 1024。让我们看看如何更改这些限制。
更改 Linux 中的打开文件限制
要更改系统范围的最大打开文件限制,请执行以下命令并根据需要设置该值:
sysctl -w fs.file-max=500000
要更改硬限制,请执行以下命令:
ulimit -Hn 10000
要更改软限制,请执行以下命令:
ulimit -Sn 5000
但是,使用 ulimit 命令更改的硬限制和软限制值在活动会话之前仍然是临时的。 要永久更改这些值,可以按如下方式完成:
在终端窗口中执行以下命令打开 /etc/security/limits.conf 文件:
sudo vi /etc/security/limits.conf
在这里,您可以通过添加以下行来更改特定用户或所有用户的值:
* hard nofile 10000
* soft nofile 5000
在这里, *
表示所有用户,要为特定用户设置限制,请替换 *
通过用户名。 这 nofile
表示可以在特定会话中打开的文件数。 要保存文件,请按 Esc 键,然后按 :wq
并按下 Enter. 因此,硬限制和软限制已被永久设置。
结论
因此,我们学习了如何临时和永久更改打开文件限制。 每次打开系统文件时,都需要root权限,使用 sudo 命令并在出现提示时输入密码,就像我们在打开 /etc/security/limits.conf.