Конечно, по своей природе работа с ulimit требует прав администратора (при изменении значения). Более того, он будет работать только в системах, которые позволяют управлять через оболочку. Без лишних слов, давайте начнем с «ulimit»!
Место расположения
Запустите терминал и выполните следующую команду.
который ограничивает
Это показывает ошибку, верно? Почему? Это потому, что «ulimit» не отдельный двоичный файл. Он встроен в саму оболочку.
Основное использование
Просто запустите команду сама по себе.
ulimit
Как следует из выходных данных, текущий пользователь имеет «неограниченное» количество ресурсов, к которым нужно получить доступ. По сути, это означает, что текущий пользователь может потреблять все ресурсы, которые поддерживает текущая система.
Чтобы получить подробный отчет, добавьте в конце флаг «-a». Это напечатает все ограничения ресурсов для текущего пользователя.
ulimit -a
Примечание: существует 2 типа ограничения ресурсов: «жесткое» и «мягкое». Жесткий предел ресурса определяет физический предел, которого может достичь пользователь. «Мягкий» лимит ресурсов регулируется пользователем. Его значение может доходить до «жесткого» предела.
Системные ресурсы определены в файле конфигурации, расположенном в «/ etc / security / limits.conf ». "Ulimit" при вызове сообщит об этих значениях.
кот / и т. д. / безопасность / лимиты.conf
Проверка различных лимитов пользователя
Как насчет отображения отдельных параметров? Затем вызовите «ulimit» с соответствующими параметрами.
Примечание. Не все эти команды будут работать, поскольку не каждая система включает в себя функции.
Чтобы проверить значение максимального «размера основного файла», используйте флаг «-c». Результат будет показан блоками.
ulimit -c
Для максимального «размера сегмента данных» (в килобайтах) используйте флаг «-d».
ulimit -d
При планировании важен приоритет. Проверить максимальный приоритет планирования текущего пользователя с помощью флага «-e».
ulimit -e
Чтобы проверить максимальный размер стека текущего пользователя, используйте флаг «-s».
ulimit -s
Для максимального количества пользовательских процессов используйте флаг «-u».
ulimit -u
Для максимального количества потоков используйте флаг «-T».
ulimit -TЧтобы получить размер виртуальной памяти, используйте следующий.
ulimit -v
Давайте проверим размер буфера сокета!
ulimit -bЭто интересный. Следующая команда сообщит время, в течение которого каждому процессу разрешено запускаться.
= ulimit -t
Дескрипторы файлов - еще одна интересная часть экосистемы Linux. Чтобы проверить, сколько файловых дескрипторов может иметь процесс, запустите следующий.
ulimit -n
Полный список флагов «ulimit» можно найти на странице справки «ulimit».
ulimit --help
Установка значений
До сих пор мы видели, как проверять значения ограничений ресурсов текущей системы. Теперь пора посмотреть, как вручную изменить эти значения.
Примечание. Для изменения «жесткого» лимита потребуется доступ администратора, я.е. «Корневое» разрешение. Убедитесь, что не все испортили!
Мы упомянули «пределы.conf », справа? Это ядро, которое ОПРЕДЕЛЯЕТ все ограничения, которые будут применяться к пользователям.
sudo vim / и т. д. / безопасность / пределы.conf
Как показано в файле, каждая запись должна иметь следующую структуру.
Часть «домен» может быть любым из этих значений.
- Конкретный пользователь
- Группа
- Подстановочный знак (* и%)
Часть «тип» допускает следующие значения.
- «Мягкий» (для реализации мягких лимитов)
- «Жесткий» (для реализации жестких ограничений)
Далее, «элемент». Список доступных опций довольно длинный! Вот несколько интересных.
- core: Размер основного файла (в КБ).
- data: Максимальный размер данных (в КБ)
- fsize: Максимальный размер файла (в КБ).
- memlock: Максимальное адресное пространство заблокированной памяти (в КБ).
- nofile: максимальное количество файловых дескрипторов
- stack: Максимальный размер стека (в КБ).
- cpu: максимальное время процессора (в MIN).
- maxlogins: максимальное количество входов для текущего пользователя / группы
- приоритет: установить приоритет процессов пользователя
- rtprio: максимальный приоритет в реальном времени.
В поле «значение» укажите целочисленное значение. Обратите внимание, что единица измерения каждого поля связана со значением части «элемент».
Изменения вступят в силу после выхода и повторного входа в связанную учетную запись пользователя.
Для получения более подробной информации о «лимитах».conf », посмотрите его справочную страницу.
человеческие ограничения.conf
Последние мысли
Хотя использование команды «ulimit» не так сложно, она играет важную роль в определении доступных системных ресурсов и, в конечном итоге, в определении производительности. Чтобы узнать больше об этой команде, посетите ее справочную и информационную страницы.
ulimit --helpчеловек улимит
информация ulimit
Наслаждаться!