如何永久设置ulimit值?

Icu*_*Icu 25 debian ulimit

在 Debian Wheezy 上,ulimit -a给出:

open files                      (-n) 1024
Run Code Online (Sandbox Code Playgroud)

我将此添加到 /etc/security/limits.conf

*                hard    nofile          64000
Run Code Online (Sandbox Code Playgroud)

然后重新启动。

并且ulimit -a仍然提供了 1024 个最大打开文件数。任何人都可以对此有所了解吗?

小智 23

Debian 中有一个错误。要增加,ulimit您需要将其添加到/etc/pam.d/common-session文件中:

session required pam_limits.so
Run Code Online (Sandbox Code Playgroud)

/etc/security/limits.conf补充说:

*               soft    nofile          65535
*               hard    nofile          65535
Run Code Online (Sandbox Code Playgroud)

然后重启系统。

  • 繁荣。`*` 通配符不适用于 `root`。我添加了 `root` 而不是 `*`,它正在工作。谢谢! (12认同)

Den*_*lte 22

选项一: 您也没有将软限制设置得更高。

可能的解决方案:

在 /etc/security/limits.conf 添加

* soft nofile 2048
Run Code Online (Sandbox Code Playgroud)

测试

ulimit -n 2048 
Run Code Online (Sandbox Code Playgroud)

选项二: 您以用户身份登录,并且在某些“配置”文件(配置文件、bashrc 等)中,软限制设置为较低的值。

可能的解决方案 fe grep for ulimit 在您的 etc 文件夹和/或主文件夹中。

警告:根据您在其中拥有的文件/目录的数量,您可能只想考虑特定的目录/文件

ps:这里有很多类似的问题,您可能需要阅读。

特别硬与软限制

阅读此处了解可能的其他解决方案,其中详细介绍了 Too Many Open Files

  • 实际上,我只是尝试将硬限制设置为 64000。所以软限制仍然在 1024。现在我尝试将软限制设置为 64000 + hard = 72000。但是没有用。我也试过“* - nofile 64000”,我得到了相同的结果。 (2认同)