当我尝试在RedHat EL5上安装软件时,我得到的错误是软/硬nofile的预期值是4096而默认值是1024.我设法增加了数量,但我不知道是什么参数是。他们是指软链接和硬链接吗?
我改变它的方式是:
A)修改/etc/security/limits.conf
user soft nofile 5000
user hard nofile 6000
B)修改/etc/pam.d/system-auth
session required /lib/security/$ISA/pam_limits.so
C)修改/etc/pam.d/login
session required pam_limits.so
进行更改后(切换到root)。似乎我必须重新启动机器才能使其生效。但是一些网上帖子说它应该在做出改变后立即生效。如果有人能澄清它,我将不胜感激。
答案 0 :(得分:34)
这些是:进程可能一次打开的文件数量的“软”和“硬”限制。两者都限制相同的资源(与硬链接或任何东西无关)。不同之处在于:软限制可以在以后更改,直到硬限制值,由运行这些限制的进程和硬限制只能降低 - 进程无法通过增加硬限制为自己分配更多资源(运行进程除外)具有超级用户权限(以root用户身份))。
可以为其他系统资源设置类似的限制:系统内存,CPU时间等。请参阅setrlimit(2)
手册页或shell ulimit
内置命令的说明(例如{ {1}}手册页。
答案 1 :(得分:4)
不需要重新启动,但/etc/security/limits.conf仅在/lib/security/pam_limits.so运行时处理,这是在登录时,并且值由子进程继承。在新登录后,该登录下的任何内容都将继承指定的值。
答案 2 :(得分:2)
另外,一些发行版包括/etc/security/limits.d
其中"片段"可以放置限制配置。您可以创建如下文件:
$ ll /etc/security/limits.d/
-rw-r--r--. 1 root root 191 Aug 18 10:26 90-nproc.conf
-rw-r--r-- 1 root root 70 Sep 29 12:54 90-was-filedesc.conf
包含您要设置的限制的文件:
$ more /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 1024
root soft nproc unlimited
$ more /etc/security/limits.d/90-was-filedesc.conf
root hard nofile 20000
我发现使用这种方法来管理这些类型的覆盖比使用/etc/security/limits.conf
进行干扰更加清晰。
此外,如果您想将soft / hard设置为相同的值,则可以使用-
作为类型。
$ more /etc/security/limits.d/90-was-filedesc.conf
root - nofile 20000