[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