limits.conf没有被应用。

我在/etc/security/limits.conf有以下几行

 * soft nofile 32768 * hard nofile 65536 root soft nofile 32768 root hard nofile 65536 

以下每个文件都需要pam_limits.so文件。

 /etc/pam.d/common-session /etc/pam.d/cron /etc/pam.d/login /etc/pam.d/sshd /etc/pam.d/su /etc/pam.d/sudo 

ulimit -nlogin后(以及在启动时启动的服务)显示1024仍然。

我错过了什么?

对于init.d中的服务,您不能使用/etc/security/limits.d inittab不读取这些文件,而是基于pam.d,它在初始化启动脚本中没有使用。 所有初始化启动脚本源/etc/init.d/functions所以所有的服务,你可以破解脚本和设置限制在那里。 当我需要{httpd,一些brokenass oracle stuf}等等时,我曾经为特定的服务攻击/ etc / sysconfig希望这有助于。

Ubuntu 14.04

必须在/etc/security/limits.conf中添加'hard'和'soft'条目,以便pam识别rtprio(-r)和memlock(-l)的设置。

你有没有检查你在/etc/security/limits.d/没有其他configuration文件?

你有尝试增加ulimit吗?

 $ ulimit -n 4096 $ ulimit -n 4096 

保存之后,您必须重新login。 启动一个shell是不够的,它必须是一个loginshell。

如果你是root用户,执行下面的命令

  ulimit -SHn 65535 

如果要永久性地设置它,特别是对于特定的用户,请更改/etc/security/limits.conf文件以具有以下行(假设user = www-data)

例如

  www-data hard nofile 65535 www-data soft nofile 65535 

并确保从/etc/pam.d下的不同文件中取消对pam_limits.so的注释,例如sudo,login,sshd,…按照上面已经完成的步骤执行。

最后重启你的系统

尝试检查/var/log/auth.log

我已经find了我在那里的问题的答案。 在我的情况下,由于导致使用默认值(1024)的错误,未设置限制。