Increase ulimit in ubuntu and docker

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:

Increase ulimit in ubuntu and docker
Increase ulimit in ubuntu and docker

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:

Increase ulimit in ubuntu and docker
Increase ulimit in ubuntu and docker

to set limit of number of files valid for all users:

Increase ulimit in ubuntu and docker
Increase ulimit in ubuntu and docker

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

Increase ulimit in ubuntu and docker

上一篇:linux开机过程


下一篇:如何保证 docker 后台进程重启,而不引起容器关闭