What is ulimit?
It is a number of open file descriptors per process. They can all refer to the same file, or different files. It prevent single users from using too many system resources.
How can is check ulimit in current shell?
Run ulimit -a command from terminal.
Output of the above command:
How to set ulimit in current shell?
ulimit -n {$no of files}
For example -> If you want to set no of open files 65535 below is the command you need to run on terminal. ulimit -n 65535 ;
How to set ulimit permanent?
For the ulimits to persists across reboots we need to set the ulimit values in the configuration file
/etc/security/limits.conf.
Format ->
#[domain] [type] [item] [value]
domain → a user name or group name
type -> can have the two values (soft| hard)
item -> the property to set
value -> value of the property.
For example -> to add limit of number of files for user root:
to set limit of number of files valid for all users:
How to set ulimit in Docker?
Due to some security reason. docker currently not extends host ulimit property.
There are couple of ways to set following are the ways:
- The latest docker supports setting ulimits through the command line and the API. For instance, docker run takes — ulimit <type>=<soft>:<hard> .
- set ulimit -n 65535 in the file /etc/init.d/docker