limits.conf 未得到应用。

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 -n登录时(以及启动时启动的服务)仍然显示 1024。

我错过了什么?

答案1

对于 init.d 中的服务,您不能使用 /etc/security/limits.d inittab 不会读取该文件,并且它基于 pam.d,而 pam.d 未在初始化启动脚本中使用。所有 init 启动脚本都源自 /etc/init.d/functions,因此对于所有服务,您都可以破解该脚本并在那里设置限制。当我需要 {httpd、一些破旧的 oracle stuf} 等时,我曾经破解特定服务的 /etc/sysconfig 希望这能有所帮助。

答案2

Ubuntu 14.04

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

答案3

您是否检查过您没有其他配置文件/etc/security/limits.d/

您是否尝试过用它来增加它ulimit

$ ulimit -n 4096
$ ulimit -n
4096

保存后必须再次登录。启动 shell 是不够的,它必须是登录 shell。

答案4

如果你是root,请执行以下命令

 ulimit -SHn 65535

如果您想要永久设置它,特别是针对特定用户,请更改文件 /etc/security/limits.conf 以包含以下行(假设用户 = www-data)

例如

 www-data hard nofile 65535

 www-data soft nofile 65535

并确保在完成上述步骤后,从 /etc/pam.d 下的不同文件中取消注释 pam_limits.so,例如 sudo、login、sshd 等。

最后重新启动系统

相关内容