在 Linux 中设置每个用户的“打开文件”限制。不能设置超过 1024

在 Linux 中设置每个用户的“打开文件”限制。不能设置超过 1024

我尝试在 CentOS 5.5 Linux 上增加特定用户的打开文件限制。我在 /etc/security/limits.conf 中添加了一行新行:

seed     hard    nofile          10240

然后做测试:

runuser -s /bin/bash - seed -c "ulimit -S -c 0>/dev/null 2>&1; ulimit -a"
0
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 8185
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) unlimited
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

如您所见,打开文件限制仍为 1024。如果我将限制设置为 1000,它将被应用。因此,我不能将限制设置为超过 1024。

我该怎么做?我只需要为 1 个用户设置,而不是整个系统。

答案1

我怀疑runuser没有经过应用 limits.conf 的 PAM“登录”过程,或者 pam_limits.so 被禁用了。至少在 Debian 中,/etc/pam.d/supam_limits.so 被注释掉了,因此限制是从运行 su 的用户那里继承的。

答案2

要增加 CentOS 5.5 Linux 上特定用户的打开文件限制:

1 - 在文件“/etc/security/limits.conf”中添加:-http://gerardnico.com/wiki/linux/limits.conf

...
# seed osuser - extended max number of open files
seed    hard    nofile    10240

# End of file

2 - 在文件中'/etc/配置文件' 或 '/home/seed/.bash_profile' 添加:

if [ $USER = "seed" ]; then
        ulimit -n 10240
fi

答案3

在 Linux 系统上,有三个地方设置文件限制,每个地方都相互独立:

  1. 内核,如 /proc/sys/fs/file-max,通过 sysctl fs.filemax 或 /etc/sysctl.conf 控制

  2. shell 中的 ulimit,由 ulimit -n 控制

  3. PAM,通过 /etc/security/limits.conf 设置

优先的数字并且实际上决定了您的流程的限制是上述三个数字中最小的一个。

答案4

使用“ulimit -a”你可以看到软限制,在redhat 5.8中1024是默认的软限制

vim /etc/security/limits.conf
user01  soft    nofile  1024
user01  hard    nofile  2048

ulimit -Sn
1024
ulimit -Hn
2048

阅读过程

grep "Max open files" /proc/$$/limits
Max open files            1024                 2048                 files

相关内容