Skip to content

Изменение максимального количества процессов Linux

1. Описание

В Linux можно установить ограничения на использование ресурсов, таких как количество процессов, количество обработчиков файлов, количество соединений и так далее.
В Linux при смене пользователя root на обычного пользователя может появиться ошибка Resource temporarily unavailable (Ресурс временно недоступен), поскольку количество процессов текущего пользователя превысило лимит. Это связано с тем, что текущий пользователь превысил лимит процессов. Поэтому в Linux необходимо вручную изменить максимальное количество процессов.

2. Ключевые значения

nproc: обозначает максимальное количество процессов, которое является ограничением на уровне операционной системы на количество процессов, создаваемых одним пользователем.

nofile: обозначает максимальное количество открытых дескрипторов файлов, ограничение на количество файлов, которые могут быть открыты каждым процессом.

hard/soft: soft - это предупреждающее значение, а hard - реальный порог, при превышении которого будет сообщено об ошибке.

3. Модификация методологии

3.1 Просмотр максимального количества процессов, открытых текущим пользователем

1) Выполните команду ulimit -a в терминале Linux.

Проверьте максимальное количество процессов пользователя: система ограничивает количество процессов или потоков, которые могут быть запущены под определенным пользователем. Как показано на рисунке ниже:

1576054140646976.png

2) Вы также можете выполнить команду ulimit -u в терминале Linux.

3.2 Войдите в систему под именем пользователя root.

Метод I:

Перейдите в файл /etc/security/limits.conf, добавьте следующий код и сохраните его:

  
  
  
roxy soft nproc 10240 roxy hard nproc 10240 roxy soft nofile 10240 roxy hard nofile 10240

Примечание: roxy - это имя пользователя для изменения количества потоков, а 10240 - это установленный лимит на количество процессов и файлов, который может быть изменен по мере необходимости.

Метод II:

1) Перейдите в файл /etc/security/limits.conf, добавьте следующий код и сохраните его:

   
* мягкий nproc 10240 * жесткий nproc 10240

Примечание: * означает, что он вступает в силу для всех пользователей.

2) Перейдите в файл /etc/security/limits.d/xx-nproc.conf, добавьте следующий код и сохраните его:

* :: soft nproc 10240

Примечание: 1. 10240 - это установленное ограничение на количество процессов и файлов, которое может быть изменено по мере необходимости.

Примечание: 2. Путь к файлу, который необходимо изменить, - /etc/security/limits.d/90-nproc.conf для cemtos6 и /etc/security/limits.d/20-nproc.conf для CentOS7.

3.3 Повторный вход в систему пользователя, превысившего лимит потоков

Выполните ulimit -a в терминале, чтобы узнать, сколько процессов или потоков может быть запущено под определенным пользователем после модификации.