Linux команди

Как да зададете постоянна ограничена стойност

Как да зададете постоянна ограничена стойност

В Linux ulimit е вграден инструмент за управление на разпределението на ресурси на глобално, групово и потребителско ниво. За многопотребителска система като Linux такава функция е почти от първостепенно значение. Той може да предотврати консумацията на нежелани системни ресурси като RAM и мощност на процесора.

Вижте как да зададете постоянно ограничена стойност в Linux.

Крайна стойност

Ulimit налага предварително зададената граница на това колко ресурси може да използва потребителят. Инструментът използва определен конфигурационен файл като ядро ​​за присвояване на граничните стойности. За по-фино настроен контрол е по-добре да редактирате файла.

$ cat / etc / security / limit.конф


Има два вида ограничения, които могат да бъдат наложени: меки и твърди ограничения. По-добре е да обясните тези типове с прост пример.

Да предположим, че системният администратор би искал определен потребител да се движи около определена стойност. Тук потребителят може да надвиши стойността, ако е необходимо, но не е твърдо обвързан от нея. В този случай това ще бъде мек лимит. От друга страна, ако администраторът иска строго да наложи лимита, това ще бъде твърд лимит.

Използване на ulimit

Ulimit е инструмент за команден ред. Ето основната структура на командата ulimit.

$ ulimit

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

Флагът „-a“ ще изброи всички опции и конфигурации за конкретен потребител. Ако няма дефиниран потребител, вместо това той ще отпечата ограниченията за текущия потребител.

$ ulimit -a

$ ulimit -a


За да покажете меките граници на потребител, използвайте флага “-S”.

$ ulimit -Sa


За да покажете твърдите ограничения на потребителя, използвайте флага „-H“.

$ ulimit -Ха


Възможно е да видите границите на определен процес. Подробностите се намират в следния файл. Имайте предвид, че това е уникален файл за всеки от процесите, които се изпълняват в момента. Разменете полето PID с PID на целевия процес.

$ cat / proc // граници

Гранични параметри

За да промените ограничението, трябва да декларирате кой тип лимит искате да определите. Ето списък с всички налични параметри, които можете да промените. Почти всички от тях определят максималната стойност на всеки от параметрите.

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

Променете временно ограничената стойност

Възможно е временно да промените стойността на ulimit за определен потребител. Промяната ще остане в сила, докато потребителят не излезе, сесията изтече или системата се рестартира. Тук ще покажа пример за това как да зададете максималния номер на процеса за потребител.

За да промените броя на наличните процеси на 12345, изпълнете следната команда. Това ще наложи временно твърдо ограничение на потребителя.

$ ulimit -u

$ ulimit -u 12345


Вижте твърдия лимит, за да проверите.

$ ulimit -Ху

Променете постоянно ограничената стойност

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

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

$ sudo vim / etc / security / limit.конф


Тук записите във файла следват следната структура.

$

Нека направим бърза разбивка на всяко от полетата.

  • домейн: Потребителски имена, групи, GUID диапазони и др.
  • тип: Тип граница (мека / твърда)
  • item: Ресурсът, който ще бъде ограничен, например размер на ядрото, nproc, размер на файла и т.н.
  • стойност: Граничната стойност

Ето списък на всички налични елементи.

  • ядро: Ограничава размера на основния файл (в KB)
  • процесор: време на процесора (в мин)
  • данни: Размер на данните (в KB)
  • fsize: Размер на файла (в KB)
  • заключва: Файлови ключалки, които потребителят може да държи
  • memlock: Заключено адресно пространство в паметта (в KB)
  • nproc: Брой процесори
  • rtpio: Приоритет в реално време
  • sigpending: Брой чакащи сигнали

За пълен списък на наличните артикули вижте страницата с лимити с ограничения.конф.

$ man граници.конф


Например, следващият запис ще ограничи броя на ядрата на процесора, които потребителят „Viktor“ може да използва, до 2.

$ viktor hard nproc 2

След като бъде редактиран, запазете файла. За да влязат в сила промените, засегнатите потребители трябва да излязат и да влязат отново. В зависимост от начина, по който е внедрен, може също да изисква системата да се рестартира.

Финални мисли

Инструментът Ulimit предлага мощен начин за управление на ресурси. Това е просто, но мощно в това, което прави. Каквото и да правите, уверете се, че лимитът, който ще въведете, е въведен правилно. Ако изпробвате тези неща за първи път, опитайте първо да ги тествате във виртуална машина.

В командата ulimit има нещо повече от това, което съм обсъждал тук. Ако искате да научите повече, разгледайте командата Linux ulimit.

Щастливи компютри!

Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...