Мы можем устанавливать и изменять максимальное количество пользовательских процессов ulimit в Linux. Число дескрипторов файлов по умолчанию, которое может открыть любой процесс, 1024 на процесс.
Как установить неограниченное кол-во пользователей и описания файлов на сервере Linux:
Если вы получаете ошибку «too many files open limit» на сервере Linux, потому что существует ограничение на открытие файлов в Linux в соответствии с сеансом пользователя.
Нам нужно добавить строку в /etc/sysctl.conf и запустить sysctl -p :
fs.file-max = 80000
Мы можем проверить ограничения по умолчанию, используя следующую команду:
cat /proc/sys/fs/ file-max
file-max максимальный дескриптор файла. Это настройка ядра, применяемая на системном уровне.
Аналогичным образом вы можете проверить значения по умолчанию для пользователя root.
ulimit -a
Мы также можем установить жесткие и мягкие ограничения, отредактировав этот файл vim /etc/security/limits.conf
* hard nofile 600000 * soft nofile 600000
Установлены жесткие и мягкие ограничения для пользователя Linux
linux hard nofile 600000 linux soft nofile 600000
Затем запустите sysctl -p, чтобы внести изменения.
Мы также можем установить ограничение процесса для пользователя root как неограниченное с помощью ulimit -u unlimited и сохранить эти строки в /root/.bashrc навсегда.
Мы также можем проверить, сколько файлов открыто в данный момент, используя lsof | wc -l
Проверьте, сколько описаний файлов используется в настоящее время: more /proc/sys/fs/file-nr
Проверьте ограничение на дескриптор открытого в данный момент файла, используя следующие команды.
more /proc/sys/fs/file-max sysctl -a | grep fs.file-max
После внесения изменений вам необходимо выйти из системы и снова войти в систему. Доступно множество вариантов, и вы можете проверить их здесь, на официальной странице RedHat.