[devel] Поведение системы при исчерпании памяти

Dmitry V. Levin ldv на altlinux.org
Пн Апр 4 22:06:54 UTC 2011


On Mon, Apr 04, 2011 at 06:38:00PM +0400, Vitaly Lipatov wrote:
> Хотел поинтересоваться —  все десять лет, что я пользуюсь Linux,
> наблюдаю одно и то же поведение: если программа начинает потреблять много 
> памяти, то она поглощает всю свободную, потом начинается своппиннг, в этот 
> момент система начинает тормозить, и если не успеть убить процесс, то система 
> уходит в бесконечный своп (из которого может и выйдет минут через 30-40).
> Когда-то я видел соотв. код в ядре, который достаточно наколенно определял 
> виновника по ряду показателей (использование процессора, памяти и пр) и убивал 
> его. Это действительно иногда происходит (видимо, елси ядро успевает 
> среагировать).
> 
> Так вот, вопроса два: 
> 
> 1. Действительно ли это общепринятая ситуация и все так с этим и живут?
> 
> Для сборки пакетов в связи с такими багами
> https://bugzilla.altlinux.org/show_bug.cgi?id=25042
> это тоже может быть актуально.
> 
> 2. Есть ли мысли, что сделать с системой, чтобы она не позволяла так с собой 
> обойтись?

Есть несколько способов лимитировать процессы и/или группы процессов по памяти.
Давно есть /etc/security/limits.conf (с некоторых пор еще и /etc/security/limits.d/),
у пользователей ovz есть ubc, ну и, наконец, теперь есть cgroups.

Можно еще поиграть с /proc/sys/vm/ на тему overcommit, см.
/usr/share/doc/kernel-doc-std-2.6.38/sysctl/vm.txt


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : отсутствует
Тип     : application/pgp-signature
Размер  : 198 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20110405/470c3d17/attachment.bin>


Подробная информация о списке рассылки Devel