Environment
- Red Hat Enterprise Linux (RHEL)
Issue
- How to set
ulimit
values
Resolution
-
Settings in
/etc/security/limits.conf
take the following form:# vi /etc/security/limits.conf #<domain> <type> <item> <value> * - core <value> * - data <value> * - priority <value> * - fsize <value> * soft sigpending <value> eg:57344 * hard sigpending <value> eg:57444 * - memlock <value> * - nofile <value> eg:1024 * - msgqueue <value> eg:819200 * - locks <value> * soft core <value> * hard nofile <value> @<group> hard nproc <value> <user> soft nproc <value> %<group> hard nproc <value> <user> hard nproc <value> @<group> - maxlogins <value> <user> hard cpu <value> <user> soft cpu <value> <user> hard locks <value>
-
<domain>
can be:- a user name
- a group name, with
@group
syntax - the wildcard
*
, for default entry - the wildcard
%
, can be also used with%group
syntax, formaxlogin
limit
-
<type>
can have two values:soft
for enforcing the soft limitshard
for enforcing hard limits-
for enforcing soft as well as hard limits
-
<item>
can be one of the following:core
- limits the core file size (KB)data
- max data size (KB)fsize
- maximum filesize (KB)memlock
- max locked-in-memory address space (KB)nofile
- max number of open filesrss
- max resident set size (KB)stack
- max stack size (KB)cpu
- max CPU time (MIN)nproc
- max number of processes (see note below)as
- address space limit (KB)maxlogins
- max number of logins for this usermaxsyslogins
- max number of logins on the systempriority
- the priority to run user process withlocks
- max number of file locks the user can holdsigpending
- max number of pending signalsmsgqueue
- max memory used by POSIX message queues (bytes)nice
- max nice priority allowed to raise to values: [-20, 19]rtprio
- max realtime priority
-
-
Exit and re-login from the terminal for the change to take effect.
-
More details can be found from below command:
# man limits.conf
-
Note that the nproc setting can no longer be set in limits.conf. Please use
/etc/security/limits.d/90-nproc.conf
instead. Setting nproc in /etc/security/limits.conf has no effect in Red Hat Enterprise Linux.
Diagnostic Steps
-
To improve performance, we can safely set the limit of processes for the super-user root to be unlimited. Edit the
.bashrc
file and add the following line:# vi /root/.bashrc ulimit -u unlimited
-
Exit and re-login from the terminal for the change to take effect.
-
Can also run
ulimit -u unlimited
at the command prompt instead of adding it to the file/root/.bashrc
.