Команды Linux

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

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

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

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

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

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

$ cat / etc / security / limits.conf


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

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

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

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

$ ulimit

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

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

$ ulimit -a

$ ulimit -a


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

$ ulimit -Sa


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

$ ulimit -Ha


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

$ cat / proc // limits

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

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

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

Временно изменить значение ulimit

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

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

$ ulimit -u

$ ulimit -u 12345


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

$ ulimit -Hu

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

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

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

$ sudo vim / и т. д. / безопасность / лимиты.conf


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

$

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

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

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

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

Полный список доступных элементов см. На странице руководства по ограничениям.conf.

$ человек ограничения.conf


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

$ виктор хард nproc 2

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

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

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

Команда ulimit - это нечто большее, чем то, что я здесь обсуждал. Если вы хотите узнать больше, ознакомьтесь с командой Linux ulimit.

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

Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...
Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA ...