Поиск по сайту:
Цель оправдывает средства (Н. Макиавелли).

Как установить значение ulimit в Linux навсегда

01.01.2021
Как установить значение ulimit в Linux навсегда

В Linux ulimit — это встроенный инструмент для управления распределением ресурсов на глобальном, групповом и пользовательском уровнях. Для многопользовательской системы, такой как Linux, такая возможность имеет почти первостепенное значение. Это может предотвратить потребление нежелательных системных ресурсов, таких как ОЗУ и мощность процессора.

Узнайте, как установить постоянное значение ulimit в Linux.

 

Предельное значение

Ulimit устанавливает предопределенный предел количества ресурсов, которые может использовать пользователь. Инструмент использует определенный файл конфигурации в качестве ядра для назначения значений ulimit. Для более точной настройки лучше отредактировать файл.

$ cat /etc/security/limits.conf

Есть два типа ограничений, которые могут быть наложены: мягкие и жесткие. Эти типы лучше объяснить на простом примере.

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

 

Использование ulimit

Ulimit — это инструмент командной строки. Вот основная структура команды ulimit.

$ ulimit <options>

Показать все ограничения

Флаг «-a» перечислит все параметры и конфигурации для конкретного пользователя. Если пользователь не определен, вместо этого он напечатает ограничения для текущего пользователя.

$ ulimit -a
$ ulimit -a <username>

Чтобы отобразить мягкие ограничения пользователя, используйте флаг «-S».

$ ulimit -Sa <username>

Чтобы отобразить жесткие ограничения пользователя, используйте флаг «-H».

$ ulimit -Ha <username>

Можно увидеть пределы определенного процесса. Подробности находятся в следующем файле. Обратите внимание, что это уникальный файл для каждого из запущенных в данный момент процессов. Поменяйте местами поле PID с PID целевого процесса.

$ cat /proc/<PID>/limits

Предельные параметры

Чтобы изменить ulimit, вы должны объявить, какой тип ограничения вы хотите определить. Вот список всех доступных параметров, которые вы можете изменить. Практически все они определяют максимальное значение каждого из параметров.

  • b: размер буфера сокета
  • c: размер созданных файлов ядра
  • d: размер сегмента данных процесса
  • e: приоритет планирования («хорошее» значение)
  • f: количество файлов, созданных оболочкой
  • i: количество ожидающих сигналов
  • l: размер для фиксации в памяти
  • м: размер резиденции
  • n: количество открытых файловых дескрипторов
  • p: размер буфера трубы
  • q: количество байтов в очередях сообщений POSIX
  • r: приоритет планирования в реальном времени
  • s: размер стопки
  • t: время процессора (в секундах)
  • T: количество потоков
  • u: количество процессов, доступных пользователю
  • v: Объем виртуальной памяти, доступной для обработки
  • x: количество файловых блокировок
Читать  Математическая арифметика: как выполнить вычисления в Bash?

 

Временное изменение значения ulimit

Можно временно изменить значение ulimit для конкретного пользователя. Изменение будет действовать до тех пор, пока пользователь не выйдет из системы, не истечет срок сеанса или пока система не перезагрузится. Здесь мы покажем пример того, как установить максимальное количество процессов для пользователя.

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

$ ulimit -u
$ ulimit -u 12345

Проверьте жесткий лимит, чтобы проверить.

$ ulimit -Hu

Изменить значение ulimit навсегда

Как упоминалось ранее, ulimit использует файл конфигурации системы, который определяет значение ulimit по умолчанию. Внося изменения в этот файл, вы можете навсегда изменить значение ulimit для любого пользователя.

Откройте файл в вашем любимом текстовом редакторе. Обратите внимание, что файл должен быть открыт с правами root для сохранения изменений.

$ sudo vim /etc/security/limits.conf

Здесь записи файла имеют следующую структуру.

$ <domain> <type> <item> <value>

Давайте вкратце разберем каждое из полей.

  • domain: имена пользователей, группы, диапазоны GUID и т. д.
  • type: Тип лимита (мягкий/жесткий)
  • item: ресурс, который будет ограничен, например, размер ядра, nproc, размер файла и т. д.
  • value: предельное значение

Вот краткий список всех доступных предметов.

  • core: ограничивает размер основного файла (в КБ)
  • cpu: время процессора (в мин.)
  • data: размер данных (в КБ)
  • fsize: Размер файла (в КБ)
  • locks: блокировка файлов, которую пользователь может удерживать
  • memlock: заблокированное адресное пространство в памяти (в КБ)
  • nproc: количество процессоров
  • rtpio: приоритет в реальном времени
  • sigpending: Количество ожидающих сигналов
Читать  Как перенести книги и другие файлы в Kindle E-Reader с помощью Linux

 

Полный список доступных элементов можно найти на странице руководства limits.conf.

$ man limits.conf

 

Например, следующая запись ограничит количество ядер ЦП, которые может использовать пользователь «andrey», до 2.

$ andrey hard nproc 2

После редактирования сохраните файл. Чтобы изменения вступили в силу, затронутые пользователи должны выйти из системы и повторно войти в систему. В зависимости от того, как это реализовано, может также потребоваться перезагрузка системы.

 

Последние мысли

Инструмент ulimit предлагает мощный способ управления ресурсами. Это просто, но эффективно в том, что делает. Что бы вы ни делали, убедитесь, что лимит, который вы собираетесь реализовать, введен правильно. Если вы пробуете эти вещи впервые, попробуйте сначала протестировать их на виртуальной машине.

Команда ulimit — это нечто большее, чем мы обсудили здесь.

Удачных вычислений!

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
Javascript - это переводческий язык программирования. Как и любой другой язык,…

Спасибо!

Теперь редакторы в курсе.