Домены
Интересные статьи
Домены
Главная страница / Linux / CentOS / Как увеличить лимит Открытых файлов в Ubuntu/Debian/CentOS/Fedora

Как увеличить лимит Открытых файлов в Ubuntu/Debian/CentOS/Fedora

Периодически при работе сервера вы можете столкнуться с ошибкой “Too many open files” в Linux системах. Чаще всего это бывает на нагруженных серверах. Это значит, что сервер достиг лимита на количество открытых файлов. Этот лимит может быть указан для конкретного пользователя или сессии.

В этой статье я расскажу какие бывают лимиты (а их два вида) и как их увеличить.

Лимитов существует два вида:

  • Жесткий лимит – максимальное количество открытых файлов для пользователя или сессии. Устанавливается только администратором/root
  • Мягкий лимит – текущее эффективное значение для пользователя или сессии. Может быть изменен самим пользователем, но значение не может превышать жесткого лимита.

Проверка текущих лимитов

Для контроля лимита ресурсов в Linux имеется утилита ulimit.

Получим текущее значение лимитов:

ulimit -a

В результате выполнения команды вы увидите список текущих лимитов, а именно тип лимита и его значение.

Чтобы узнать жесткий и мягкие лимиты, используйте следующие команды:

ulimit -Sn       # Мягкий лимит
ulimit -Hn       # Жесткий лимит

Увеличение лимита для текущей сесии

Большинство операционных систем позволяют изменить лимит открытых файлов для текущей сессии с помощью команды ulimit -n:

ulimit -n 20000

Увеличение лимита для пользователя

Вы также можете изменить лимиты для каждого пользователя в отдельности. Для этого нужно отредактировать файл /etc/security/limits.conf в удобном вам редакторе, в моем случае это будет vim

vim /etc/security/limits.conf

и добавить в него следующие строки:

* 	 soft     nproc          65535
* 	 hard     nproc          65535
* 	 soft     nofile         65535
* 	 hard     nofile         65535
max 	 soft     nproc          20000
max 	 hard     nproc          20000
max 	 soft     nofile         20000
max 	 hard     nofile         20000

Это значит, что для пользователя “max” будут установлены лимиты в 20000, а для всех остальных пользователей – 65535. Измените эти значение по своему усмотрению.

Изменение лимита для всей системы

Вы также можете изменить лимиты для всех пользователей системы, для этого нужно отредактировать параметры sysctl. Откройте в редакторе файл /etc/sysctl.conf и добавьте следующую строку:

fs.file-max = 131070

После чего примените эти изменения командой

sysctl -p

Этим вы установили лимиты для всей системы. Лимиты для конкретного пользователя или сессии не могут превышать лимитов системы.

Обо мне cyber01

Прочитайте также

Как установить MariaDB на Debian 10 (Buster)

MariaDB это улучшенная, совместимая замена для MySQL. MariaDB имеет набор функций, которые превосходят оригинальный MySQL. …

Как установить Python 3.8 в Ubuntu/Debian/Linux Mint

Команда разработки Python выпустила версию 3.8. Вы можете скачать последнюю стабильную версию ветки Python 3.8 …

Как установить последний NodeJS в Amazon Linux/Centos 7

NodeJS (Node.js) это один из вариантов Chrome V8 Javascript runtime engine. Он позволяет программистам выполнять …

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *