繁体   English   中英

“软/硬nofile”在Linux上意味着什么

[英]What does “soft/hard nofile” mean on Linux

当我尝试在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)。 似乎我必须重新启动机器才能使其生效。 但是一些网上帖子说它应该在做出改变后立即生效。 如果有人能澄清它,我将不胜感激。

它们是:一个进程可能一次打开的文件数量的“软”和“硬”限制。 两者都限制相同的资源(与硬链接或任何东西无关)。 不同之处在于:软限制可以在以后更改,直到硬限制值,由运行这些限制的进程和硬限制只能降低 - 进程无法通过增加硬限制为自己分配更多资源(运行进程除外)具有超级用户权限(以root用户身份))。

可以为其他系统资源设置类似的限制:系统内存,CPU时间等。请参阅setrlimit(2)手册页或shell的ulimit内置命令的说明(例如,在bash(1)手册页中。

不需要重新启动,但/etc/security/limits.conf仅在/lib/security/pam_limits.so运行时处理,这是在登录时,并且值由子进程继承。 新登录后,该登录项下的任何内容都将继承指定的值。

另外,一些发行版包括/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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM