LINUX.ORG.RU
ФорумAdmin

limits.conf: Ограничение на объём памяти, используемый программой


0

0

У меня Fedora 6. Некоторые программы иногда начинают жрать память и жрут пока не лопнут. Часто у меня терпение лопается гораздо раньше и я жму резет, ибо прибить такую прогу пока комп интенсивно свопится совершенно невозможно.
Итак, задача: ограничить объём памяти, который может выделить программа, ну, скажем, объёмом ОЗУ.
Птичка мне насвистела, что с помощью limits.conf можно ограничить всё подряд. Нашёл оный файл по адресу /etc/security/limits.conf и прописал в нём
* hard data 262144
* hard rss 262144
Второе, как я понял не совсем то, а что такое первое я точно не знаю, но по смыслу подходит. И ничего не изменилось. Специально накорябал прогу, выделяющую малоком 300 метров и она не спеша, но без помех сделала своё чёрное дело. Так как-же, чёрт возьми, правильно пользоваться этим лимитс.конф?

примечания:
на всякий случай продублировал /etc/security/limits.conf в /etc/limits.conf
заставил прогу выделить 500мб и ждать так 10 минут
никаких действий чтобы "применить" изменённый limits.conf не предпринимал т.к. не нашёл в мани про это ничего.

★★★★★

Ответ на: комментарий от sdio

>logoff/logon делал?

Теперь сделал. Спасибо. Стало:

$ ulimit -d -m -v

data seg size (kbytes, -d) 262144

max memory size (kbytes, -m) 262144

virtual memory (kbytes, -v) unlimited

при

/etc/security/limits.conf:

* hard data 262144

* hard rss 262144

* hard memlock 262144

* hard virtual 262144

* hard virt 262144

* hard vir 131072

Т.е. мне видимо надо ограничить именно virtual memory, и совершенно не понятно как, т.к. ни в примерах конфига ни в мане ничего нет про виртуальную память.

legolegs ★★★★★
() автор топика
Ответ на: комментарий от sdio

Сделал
$  ulimit -v 262144
и запустил свою прогу:

$  ./memeat 300
begin eating
..................................................................
ААА!! Не выделяеццо больше 252 Мб

В общем-то это то что надо, осталось только в конфиг записать.

legolegs ★★★★★
() автор топика
Ответ на: комментарий от legolegs

>Т.е. мне видимо надо ограничить именно virtual memory, и совершенно не понятно как, т.к. ни в примерах конфига ни в мане ничего нет про виртуальную память.

В limits.conf

* hard as 262144

sdio ★★★★★
()
Ответ на: комментарий от sdio

Cпасибо большое! Это как раз то, что требовалось!

legolegs ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.