Как изменить ограничение на открытие файлов в Linux

В Linux существуют ограничения, определенные системой для всего, что потребляет ресурсы. Например, есть ограничения на количество аргументов, которые можно передать определенной команде, сколько потоков может выполняться одновременно и т. д.

Точно так же существует ограничение на количество открытых файлов. Как вы, возможно, знаете, открытый файл активно используется в некоторых других программах и, следовательно, потребляет память.

Вы можете просмотреть и изменить ограничение на количество открытых файлов с помощью команды ulimit.

Существует два типа ограничений: «жесткое ограничение» и «мягкое ограничение».

  • «Жесткое ограничение» для открытых файлов статически заданное значение, и может быть изменен только «корневым» пользователем Linux;
  • «Мягкое ограничение» — это ограничение, которое может изменяться процессами динамически, т. е. Во время выполнения, если процессу требуется больше открытых файлов, чем разрешено мягким пределом.

Излишне говорить, что мягкое ограничение — это то, что может привести к проблемам с безопасностью.

ВАЖНО: Ключ к тому, чтобы стать продвинутым пользователем Linux, — это использовать больше командной строки и меньше графического интерфейса; больше клавиатуры и меньше мыши!

Проверьте ограничения на открытие файлов в Linux

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

ulimit -Hn

Точно так же для просмотра мягкого ограничения запустите:

ulimit -Sn

Здесь ‘S‘ и H обозначают мягкие и жесткие ограничения соответственно, тогда как ‘n‘ обозначает количество открытых файлов.

Изменить ограничения на открытие файлов в Linux

Давайте теперь попробуем изменить эти ограничения, просто добавив третий аргумент для нового значения ограничения после ‘Sn’ или ‘Hn’.

ulimit -Sn 5000 
 ulimit -Hn 5000 
изменить ограничение на открытие файлов в Linux 1

Однако измененные таким образом ограничения остаются временно измененными до открытия сеанса (т.е. терминала). Следуйте инструкциям ниже, чтобы навсегда изменить пределы.

Постоянная установка ограничений на открытие файлов в Linux

Откройте файл /etc/security/limits.conf в nano или любом другом редакторе по вашему выбору. Обратите внимание, что это файл, защищенный от записи, и его следует открывать с помощью sudo или от имени администратора.

sudo nano /etc/security/limits.conf

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

*hard nofile 5000

‘*’Означает «предел»(лимит) для всех пользователей. Вторая строка в строке – это тип ограничения, в данном случае «жесткое»

Третья строка — это предел, который мы хотим изменить. В нашем случае это nofile, то есть количество файлов. Также здесь могут быть установлены другие ограничения, например, noproc для ряда процессов. Наконец, четвертая строка — это новый лимит, который должен быть установлен для количества файлов.

Если вы хотите установить лимит только для определенного пользователя, вы можете сделать это следующим образом:

abhi soft nofile 5000

Здесь «abhi» — имя пользователя.

Теперь мы добавим эти строки в файл, а затем посмотрим, изменилось ли ограничение.

изменить ограничение на открытие файлов в Linux 2

Сохраните и выйдите из файла.

Эти ограничения потребуют от пользователя выхода и повторного входа в систему, так как старые ограничения все еще учитываются запущенными программами. Снова запустите ulimit, чтобы убедиться, что ограничения действительно изменены.

ulimit

Заключение

В этой статье мы увидели, как изменить ограничение на количество открытых файлов в Linux. Запустите, ‘ulimit –help’ если хотите узнать команду более подробно.

Спасибо за чтение и дайте нам знать свои мысли или вопросы в комментариях ниже!

Автор статьи NiceW

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X

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

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