Linux/etc/security/limits.conf объяснение

- C довольно бесполезен.. это просто добавляет, что комментарий просто использует команду без него. Затем добавьте новый ключ к своей учетной записи GitHub

ssh-keygen -t rsa
8
задан 14 March 2013 в 15:46
3 ответа
rtprio 
maximum realtime priority allowed for non-privileged processes (Linux 2.6.12 and higher) 

priority 
the priority to run user process with (negative values boost process priority) 

Почему они разные?

В Linux существуют разные классы планировщиков процессов. Параметр по умолчанию (CFQ) в основном дает равное количество отрезков времени каждому процессу, который хочет запустить, и ставит в очередь запускаемые задачи таким образом, чтобы каждый ожидал в среднем равное количество времени своей очереди. Существуют некоторые исключения из этого правила, но это основная идея.

Другой класс планировщика - это планировщик реального времени. Реальное время немного отличается, задачи, выполняемые в очереди, превращаются в справедливую схему очередей, процесс реального времени будет получать процессорное время, как только оно понадобится процессу, это вытесняет запущенный процесс из ЦП, чтобы освободить место для `` реального времени ''. "процесс.

Какие ценности они могут принимать?

Какие" priority 'меняет удобство процедуры, так что при входе в систему ваш основной процесс запускается с определенной аккуратности, любые дочерние процессы, которые вы порождаете, также запускаются с такой же аккуратностью.

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

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

Что касается реального времени, то конфликты обрабатываются с помощью ' rtprio 'поле. Если у вас есть две задачи в реальном времени, которые обе хотят выполнить, тогда 'rtprio' значение используется для определения того, какой из процессов выбрать приоритетным. Чем выше значение rtprio, тем выше приоритет задач.

Установка этого параметра в файле limits.conf позволяет задавать задачи реального времени с определенным диапазоном приоритетов без необходимости установки значения root. Это не влияет на задачи, которые не настроены для запуска с использованием планировщика реального времени.

Значение 'nice' должно действовать так же, как 'rtprio', но для стандартного планирования CFQ. Но я никогда не пробовал. Он устанавливает начальный процесс, порожденный, когда PAM устанавливает эти ограничения на этот хороший уровень, затем обычный пользователь может перейти на этот хороший уровень или выше без необходимости root для их установки. Если вы не изменяете явно, это означает, что все процессы, порожденные оболочкой из этого имени входа (например), унаследуют значение nice, установленное в файле limits.conf, от исходного процесса, который был изначально создан.

Каковы значения по умолчанию?

Ограничения «по умолчанию» - технически все они устанавливаются на значение pid 1, если явно не задано, ограничения ресурсов наследуются от родительского процесса, если ограничения не были определены или отменены в любом месте, то по умолчанию используется наследование от init .

Другие значения

data 
maximum data size (KB) 

Когда процесс инициализируется, он выделяет некоторую память, известную как «сегмент данных», когда процесс копируется в память, это это место для глобальных объектов, возможно, некоторые другие инициализированные данные и память, выделенная из кучи. Предел контролирует максимальное выделенное количество, которое может занять процесс.

Маловероятно, что вы когда-нибудь достигнете этого предела, потому что malloc () редко чрезмерно использует сегмент данных для хранения данных.

fsize 
maximum filesize (KB) 

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

memlock 
maximum locked-in-memory address space (KB) 

Практически вся память, полученная приложением, является «выселяемой». То есть можно поменять местами. Заблокированная память никогда не заменяется и остается резидентной. Это значение строго контролируется, поскольку люди могут злоупотреблять им, чтобы лишить систему памяти и вызвать подкачку. Обычно это полезно с приложениями безопасности (которые никогда не хотят, чтобы их страницы менялись местами - и чтобы их можно было читать из раздела подкачки).

cpu 
maximum CPU time (minutes) 

Это представляет общее количество времени, которое процесс может потреблять на CPU. Процесс, превышающий это значение, прекращается. Обратите внимание, что это НЕ то же самое, что время, прошедшее с момента запуска процесса. Заблокированная память никогда не заменяется и остается резидентной. Это значение строго контролируется, поскольку люди могут злоупотреблять им, чтобы лишить систему памяти и вызвать подкачку. Обычно это полезно с приложениями безопасности (которые никогда не хотят, чтобы их страницы менялись местами - и чтобы их можно было читать из раздела подкачки).

cpu 
maximum CPU time (minutes) 

Это представляет общее количество времени, которое процесс может потреблять на ЦП. Процесс, превышающий это значение, прекращается. Обратите внимание, что это НЕ то же самое, что время, прошедшее с момента запуска процесса. Заблокированная память никогда не заменяется и остается резидентной. Это значение строго контролируется, поскольку люди могут злоупотреблять им, чтобы лишить систему памяти и вызвать подкачку. Обычно это полезно с приложениями безопасности (которые никогда не хотят, чтобы их страницы менялись местами - и чтобы их можно было читать из раздела подкачки).

cpu 
maximum CPU time (minutes) 

Это представляет общее количество времени, которое процесс может потреблять на CPU. Процесс, превышающий это значение, прекращается. Обратите внимание, что это НЕ то же самое, что время, прошедшее с момента запуска процесса.

cpu 
maximum CPU time (minutes) 

Это общее количество времени, которое процесс может потреблять на CPU. Процесс, превышающий это значение, прекращается. Обратите внимание, что это НЕ то же самое, что время, прошедшее с момента запуска процесса.

cpu 
maximum CPU time (minutes) 

Это общее количество времени, которое процесс может потреблять на CPU. Процесс, превышающий это значение, прекращается. Обратите внимание, что это НЕ то же самое, что время, прошедшее с момента запуска процесса. IE ограничение времени процессора в 1 минуту заняло бы 1 минуту, если бы процесс был загружен на 100%, и 2 минуты, если бы процесс использовал 50% -ное использование.

Что происходит, когда процессор превышен?

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

Только одному процессу или целому пользователю запрещено использовать CPU?

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

Некоторые другие проблемы с ограничениями:

  • Максимальное количество процессов включает количество легковесные потоки.
  • Ограничение RSS ничего не делает и не действует в течение ряда лет, его бессмысленно устанавливать.
18
ответ дан 2 December 2019 в 22:45

Это для модуля pam_limits ... это значения setrlimit (2) и sysctl (8) . Мой поиск не выявил каких-либо жестких ограничений, но процитированные справочные страницы дают некоторые объяснения.

1
ответ дан 2 December 2019 в 22:45

Быстрые ответы - хорошие ответы, поэтому приступим.

  • Узнайте минимальное и максимальное значения для приоритетов с помощью schedtool -r ; и
  • запросить текущие ограничения с помощью ulimit -a .

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

Надеюсь, это вам поможет.

1
ответ дан 2 December 2019 в 22:45

Теги

Похожие вопросы