2009-06-10 2 views
13

Согласно man-странице, «-l» в ulimit означает «Максимальный размер, который может быть заблокирован в памяти». Что именно означает это предложение? Как это может повлиять на запущенные программы?Что означает «ulimit -l»?

ответ

12

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

+0

Это означает, что если я установил его на 100M, а затем запустил программу (скажем, программу java), она сохранит ее в памяти и не выйдет на экран? –

+1

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

+4

. Улимит ограничивает только то, что вы можете заблокировать. Вам нужно позвонить mlock или mlockall, чтобы он был фактически заблокирован. –

8

Это ограничивает, сколько памяти вы можете сделать unswappable с mlock

setrlimit говорит страница руководства:

Максимальное число байтов памяти, которые могут быть заблокированы в ОЗУ. Фактически этот предел округляется до ближайшего кратного размера страницы системы. Этот предел влияет на операции mlock (2) и mlockall (2) и mmap (2) MAP_LOCKED. Начиная с Linux 2.6.9, он также влияет на операцию shmctl (2) SHM_LOCK, где он устанавливает максимальный размер для общих байтов в сегментах разделяемой памяти (см. Shmget (2)), которые могут быть заблокированы реальным идентификатором пользователя вызывающего процесса. Замки SHMctl (2) SHM_LOCK учитываются отдельно от блокировок памяти для каждого процесса, установленных mlock (2), mlockall (2) и mmap (2) MAP_LOCKED; процесс может блокировать байты до этого предела в каждой из этих двух категорий. В ядрах Linux до 2.6.9 этот предел контролировал объем памяти, который может быть заблокирован с помощью привилегированного процесса. Начиная с Linux 2.6.9, никаких ограничений на объем памяти, который может заблокировать привилегированный процесс, не ограничивается, и этот лимит вместо этого определяет объем памяти, который может заблокировать непривилегированный процесс.

Смежные вопросы