/proc/sys/fs/file-max:Linux主机最大打开文件数/proc/sys/fs/file-max:Linux主机最大打开文件数/proc/sys/fs/file-max:Linux主机最大打开文件数/proc/sys/fs/file-max:Linux主机最大打开文件数
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

/proc/sys/fs/file-max:Linux主机最大打开文件数

file-max 包含 Linux 主机的最大文件句柄,表示主机每个会话可以拥有的最大文件数。对于最大文件句柄有不同的建议。您还可以从命令行临时或永久设置新的最大数量。本指南介绍了 Linux 主机中打开的文件、如何查看最大数量以及永久或临时设置新值。

Linux 中的最大文件句柄

文件句柄代表单个 Linux 用户在每个会话中可以打开的文件的最大数量。 /proc/sys/fs/file-max 定义文件限制。如果您需要在重新启动之前设置临时限制,则需要编辑该文件。

要查看 Linux 主机中打开文件数的当前限制,请使用以下命令:

$ cat /proc/sys/fs/file-max

本例中列出的打开文件描述符的最大值适用于 Linux 主机。不同的用户可以具有与主机不同的值。

或者,您可以使用以下命令:

$ sysctl fs.file-max

上面输出中的值表示普通用户每次登录会话的最大限制。您还可以使用 ulimit 命令获取描述符的软值和硬值,该命令可以更好地控制 shell 资源和由它启动的进程。

对于硬值,请使用以下命令:

$ ulimit -Hn

同样,对软值使用以下命令:

$ ulimit -Sn

修改 /proc/sys/fs/file-max 文件

某些应用程序(例如 Oracle 数据库)需要更高的文件描述符运行范围。在这种情况下,您将需要更改打开文件的最大电流限制以增加容量。更改此限制意味着您修改内核变量 /proc/sys/fs/file-max,可以通过两种方式实现。

对于第一种方法,直接从命令行设置值。例如,要将范围设置为 324567,命令如下:

$ sudo sysctl -w fs.file-max=324567

请注意,您必须具有管理员权限才能执行此操作。正如我们在检查最大限制时所做的那样,验证新的限制。

对于下一个方法,仅当您想为系统上的打开文件永久设置新的最大限制时才使用它。前面显示的第一种方法将在重新启动后重置为默认值。

要继续使用永久方法,您需要使用 nano 或 vi 等文本编辑器并编辑 /etc/sysctl.conf 文件。对于我们的例子,让我们使用 vi 编辑。命令如下:

$ vi /etc/sysctl.conf

添加带有新选择值的 fs.file-max=324567。保存并退出文件。即使重新启动后,新值也将保留。

此外,您需要注销系统并重新登录才能使更改生效。或者,运行以下命令:

$ sysctl -p

最后,验证是否使用上一个命令设置了新限制,或使用 cat 命令列出 /proc/sys/fs/file-max 的内容。

$ cat /proc/sys/fs/file-max

设置用户级别 FD 限制

前面的命令设置整个主机系统的文件描述符 (FD)。但是,您并不总是需要修改整个系统。有时,您可能需要指定特定用户,这是可能的。

要修改特定用户,您需要将限制添加到/etc/security/limits.conf。

使用任何编辑器打开文件并进行编辑。对于我们的示例,我们使用 vi 并为名为 user1 的用户设置软 FD 限制。

$ sudo vi /etc/security/limits.conf

您可以使用以下命令切换到该用户帐户来验证我们为特定用户添加的软限制是否有效:

$ su user1

$ ulimit -Sn

-Sn 用于软限制。在以下输出中,我们注意到该值被设置为配置文件中定义的值。这意味着我们成功更改了特定用户的文件描述符。

结论

©2015-2025 艾丽卡 support@alaica.com