ℹ️ Время от времени сервер может оказаться под сильной нагрузкой из-за огромного числа открытых файлов или процессов. Но не все знают, что с помощью ulimit можно гибко контролировать ресурсы, выделяемые приложению, без необходимости изменения кода. Этот инструмент особенно полезен для DevOps-инженеров, работающих с высоконагруженными системами.
🔥 Как это сделать:
ulimit — это встроенная утилита Linux, которая позволяет задавать ограничения на использование ресурсов, таких как количество открытых файлов, процессы и память. Эти лимиты можно настраивать как на уровне пользователя, так и для конкретных процессов.
➡️ Пример: ограничение количества открытых файлов
1. Проверка текущего лимита:
ulimit -nℹ️ Это покажет максимальное количество файлов, которые один процесс может открыть одновременно.
2. Изменение лимита на сессию:
Например, если вы хотите временно увеличить лимит для процесса до
4096файловulimit -n 40963. Постоянное изменение лимита (на уровне пользователя):
Для этого нужно изменить конфигурацию в
/etc/security/limits.conf. Добавьте строки для конкретного пользователя или группыuser_name soft nofile 4096 user_name hard nofile 8192ℹ️
soft— это мягкий лимит, который можно изменить пользователю в любой момент.
ℹ️hard— жесткий лимит, выше которого пользователь не сможет подняться без привилегий суперпользователя.4. Применение к сервисам (например, для Nginx):
Если вы управляете веб-сервером или другим демоном, важно также учитывать системные лимиты. Например, для Nginx можно задать лимит через его конфигурацию
worker_rlimit_nofile 8192;5. Контроль других ресурсов:
Лимит на количество процессов:ulimit -uЛимит на использование памяти:ulimit -mЛимит на размер стека:ulimit -s
✳️ Эффективное использование ulimit позволит вам заранее управлять доступными ресурсами для приложений и пользователей, предотвращая перегрузки и улучшая общую стабильность системы.
tags: #полезно #linux
🧭 @recura_tech



