Команда Ulimit в Linux
На одном компьютере может быть более одного пользователя. Доступные ресурсы системы могут быть опущены одним пользователем (вольно или невольно). Такая ситуация может создать проблемы для всех остальных пользователей системы. Чтобы этого избежать, нужно создать ограничения для пользователей, чтобы они получали только то, что им нужно. Команда Linux ulimit позволяет ограничить доступные ресурсы системы для разных пользователей. Эта команда может помочь в распределении ресурсов в соответствии с требованиями наиболее подходящим образом.
В этой статье мы предоставим вам несколько иллюстраций, чтобы понять реализацию команды ulimit в Linux.
Пример №1: Использование команды Ulimit для поиска доступных ресурсов для текущего пользователя
В этом примере будет спроецировано первое и основное использование команды ulimit. Мы узнаем статус доступности ресурсов Linux для текущего пользователя, вошедшего в систему.
Запустите терминал и напишите следующую команду, чтобы получить лимит для текущего потребителя.
Нажмите клавишу Enter, чтобы найти вывод.
Как видно из выходных данных, текущий пользователь, вошедший в систему, имеет неограниченный доступ к ресурсам.
Пример № 2. Определение доступности подробного ресурса для пользователя, вошедшего в систему в данный момент.
В приведенном выше примере мы находим лимит, доступный для ресурсов пользователя, но он не предоставляет нам подробной информации о доступных ресурсах.
Чтобы просмотреть подробную информацию обо всех ресурсах, доступных пользователю, нам нужно написать -a с командой ulimit. Это даст нам доступ ко всем ресурсам, доступным нынешним потребителям. Если вы хотите найти подробную информацию о доступных ресурсах для пользователя, отличного от текущего пользователя, вошедшего в систему, вы должны указать имя пользователя после флага -a. В настоящее время мы находим его для текущего пользователя, поэтому нам не нужно писать имя пользователя.
После запуска команды нам будет предоставлен список ресурсов и доступный лимит для текущего пользователя Linux, вошедшего в систему. Кроме того, это облегчило нам работу с различными флагами, которые можно указать с помощью команды ulimit, чтобы найти предел для определенного ресурса.
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15207
max locked memory (kbytes, -l) 502304
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 15207
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
Мы будем практиковать некоторые из этих команд здесь.
Если вы хотите проверить доступный предел размера основного файла для текущего пользователя, вам необходимо ввести следующую команду:
0
Результат говорит нам, что доступный предел размера основного файла для пользователя Linux равен 0.
Мы можем ограничить этот размер файла, указав предельное значение с помощью флага –c.
Теперь доступный предел размера основного файла для текущего потребителя ограничен 10.
Для проверки размера сегмента данных используйте флаг –d с командой ulimit.
unlimited
Теперь мы изменим этот предел.
Мы найдем размер файла с флагом –f, размер канала с флагом –p и максимальный пользовательский процесс с –u, выполнив эти команды одну за другой на терминале.
Для проверки ограничения размера файла напишите команду:
unlimited
Пользовательский лимит для размера канала можно проверить с помощью этой команды:
8
Вы можете получить максимальный пользовательский процесс с помощью следующей команды:
15207
Точно так же вы можете найти доступность любого ресурса для текущего пользователя индивидуально, используя соответствующий флаг для этого конкретного ресурса.
Мягкие ограничения и жесткие ограничения в Linux
Ограничения в Linux делятся на две категории: мягкие ограничения и жесткие ограничения. Жесткие ограничения — это ограничения, которые устанавливаются только пользователем root для всех остальных пользователей. Принимая во внимание, что мягкие ограничения — это ограничения, которые могут быть изменены любым пользователем с помощью команды ulimit, но могут быть изменены только до максимального жесткого ограничения, установленного пользователем root.
Пример № 3: Использование команды ulimit для поиска жесткого ограничения
Мы можем отобразить значения жесткого ограничения для вошедшего в систему пользователя, используя флаг –H с командой ulimit. Для этого нам нужно написать в терминале следующую команду:
В выходных данных отображается жесткое предельное значение, установленное пользователем root для текущего пользователя Linux.
Мы также можем комбинировать вышеупомянутые флаги с флагом –H, чтобы найти предел для определенного ресурса. Здесь мы будем практиковать некоторые команды.
Чтобы найти жесткое ограничение на размер стека, нам нужно написать в терминале следующую команду:
unlimited
Чтобы проверить жесткое ограничение размера трубы, объедините –H и –p.
8
Жесткий предел максимального размера памяти может быть получен с помощью этой команды:
unlimited
Точно так же вы можете найти жесткое ограничение для любого из ресурсов системы для текущего пользователя.
Пример № 4: Использование команды ulimit для поиска мягкого ограничения
Помимо проверки жестких ограничений для пользователя, вы также можете узнать и мягкие ограничения. Для проверки мягкого лимита следует использовать флаг –S с командой ulimit.
Выполнение команды даст нам мягкое ограничение для текущего пользователя Linux, вошедшего в систему.
Точно так же с жестким ограничением мы также можем найти мягкое ограничение для определенного системного ресурса, указав соответствующий флаг в сочетании с флагом –S вместе с командой ulimit.
Чтобы получить мягкое ограничение для открытых файлов, мы выполним следующую команду:
1024
Мягкий предел для ожидающих сигналов может быть получен с помощью этой команды:
15207
Таким же образом можно найти и все остальные софт лимиты на любой из необходимых ресурсов системы для конкретного пользователя.
Заключение
Из этого руководства вы узнали, как использовать команду Linux ulimit. Мы обсудили основное использование команды ulimit, а также флаги, доступные для непосредственного поиска отдельного ресурса, доступного для текущего пользователя. Кроме того, в этом руководстве использовались два типа ограничений. Сочетание мягких и жестких ограничений с другими флагами объясняется практической реализацией в Linux.