Changes made by ulimit command:
$ ulimit -n 4096
$ ulimit -Hn 16384
will apply only for current user and session. In order
to make it permanent, you have to modify /etc/security/limits.conf by adding
your limits:
* soft nofile 4096
* hard nofile 16384
However these changes won't apply for root user. In
order to do so, you have to state it explicitly:
* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384
These limits will be applied after reboot.
If you want to apply changes without
reboot,
modify /etc/pam.d/common-session by adding this line at the end
of file:
session required pam_limits.so
Upon next login you should see
updated limits, you can check them (soft and hard limits):
$ ulimit -a
$ ulimit -Ha
Example:
[root@XXX~]#
cat /etc/security/limits.conf |grep -v "#"
* soft nproc 1024
* hard nproc 25000
[root@XXX
~]# ulimit -Ha
core
file size (blocks, -c) unlimited
data
seg size (kbytes, -d) unlimited
scheduling
priority (-e) 0
file
size (blocks, -f) unlimited
pending
signals (-i) 7409
max
locked memory (kbytes, -l) 64
max
memory size (kbytes, -m)
unlimited
open
files (-n) 4096
pipe
size (512 bytes, -p) 8
POSIX
message queues (bytes, -q) 819200
real-time
priority (-r) 0
stack
size (kbytes, -s) unlimited
cpu
time (seconds, -t)
unlimited
max
user processes (-u) 25000
virtual
memory (kbytes, -v) unlimited
file
locks (-x) unlimited