Coloque um arquivo aqui ( /etc/security/limits.d
) em vez de editar o arquivo /etc/security/limits.conf
real.
$ cat /etc/security/limits.d/90-arcgis.conf
siteadmin - nofile 65536
siteadmin - nproc 25059
Exemplo
Aqui eu configurei um usuário siteadmin
e entrei nele. Aqui estão os limites padrão deste usuário:
$ 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) 3875
max locked memory (kbytes, -l) 64
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) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 3875
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Os padrões nproc
e nofile
do usuário são estes:
max user processes (-u) 3875
open files (-n) 1024
NOTA: Esses valores restringem o usuário a esses limites em todos os processos que eles podem invocar. Os limites são controlados pelo usuário, portanto, se você tiver 10 processos em execução, eles estarão limitados a 1024 arquivos em período aberto, por exemplo.
Agora, se adicionarmos nosso arquivo a /etc/security/limits.d/90-arcgis.conf
:
$ cat /etc/security/limits.d/90-arcgis.conf
siteadmin - nofile 65536
siteadmin - nproc 25059
E se fizermos login em siteadmin
:
$ su - siteadmin
Last login: Fri Jul 20 14:07:10 EDT 2018 on pts/0
$ 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) 3875
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
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) 25059
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Agora vemos nossos limites sendo captados.
Qual é o problema com o -
No arquivo limits.conf, você pode especificar soft
, hard
ou ambos. O -
significa ambos.
Na página man limits.conf
man:
<type>
hard
for enforcing hard resource limits. These limits are set by the
superuser and enforced by the Kernel. The user cannot raise his
requirement of system resources above such values.
soft
for enforcing soft resource limits. These limits are ones that
the user can move up or down within the permitted range by any
pre-existing hard limits. The values specified with this token
can be thought of as default values, for normal system usage.
-
for enforcing both soft and hard resource limits together.
Note, if you specify a type of '-' but neglect to supply the item
and value fields then the module will never enforce any limits on
the specified user/group etc. .