/etc/security/limits.conf 中的 ulimit 设置对用户无效

/etc/security/limits.conf 中的 ulimit 设置对用户无效

Oracle Linux 6.6 目标:用户 jboss_app 应该能够运行最多 16384 个进程

我们增加了最大用户进程数,因为用户耗尽了进程数。 limit.conf 的当前内容:

#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4

*   soft   memlock    8388608
*   hard   memlock    8388608
*   soft   nofile    16384
*   hard   nofile    16384 
*   soft    nproc    16384
*   hard    nproc    16384
# End of file

当我们以 jboss_app 身份登录并运行 ulimit -a 时,我们只看到 1024 个进程。允许。

[jboss_app@tstjboss05 ~]$ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 386260
max locked memory       (kbytes, -l) 8388608
max memory size         (kbytes, -m) unlimited
open files                      (-n) 16384
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 1024
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

全局配置提升到 16384 后,是什么限制 jboss_app 用户最多 1024 个进程?

戴夫

编辑:在这个服务器故障问题我发现 RHEL 系列中还有另一个文件 /etc/security/limits.d/90-nproc.conf,当用户通过 vi sudo 访问时会读取该文件。

[root@tstjboss05 limits.d]# more 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

我在这个文件中编辑了 nproc 并得到了我想要的结果。

答案1

是的,我在 Oracle Linux 6.9 上进行了测试,它也适用于我,我更新了 /etc/security/limits.d/90-nproc.conf 文件以获得 oracle 用户所需的 ulimit 设置。

在 Oracle Linux 6 中,更新 /etc/security/limits.conf 是不够的。

相关内容