[Sysadmins] Странное управление памятью в хост-системе при использовании OpenVZ

Vitaly Lipatov lav на altlinux.ru
Пн Апр 25 20:59:09 UTC 2011


Добрый день всем!

У нас уже несколько лет используется 64-битная система ALT Linux 
с контейнерами OpenVZ, среди которых есть 32-ные и 64-ные 
системы.

Столкнулись с тем, что с ядром 2.6.18-ovz-rhel всё в общем-то 
работает, за исключением падения ядра раз в неделю где-то в 
районе файловой системы (поменял xfs на ext3, не помогло).
При попытке перейти на ядро 2.6.27 и выше (последним проверялось 
2.6.32-ovz-el-alt16) с использованием памяти (всего в системе 
8Гб) начинается что-то странное:
1. После загрузки системы, как водится, free memory постепенно 
переходит в cached (много памяти постоянно не используем — 
запустим программу да остановим).
2. Некоторое время всё работает нормально, но потом cached 
начинает уменьшаться (с нескольких гигабайт до сотни мегабайт), и 
начинает подрастать swap. При этом free memory увеличивается 
почти до полного объёма ОЗУ. Всё это сопровождается тормозами 
системы из-за выброшенных вообще или в swap страниц освобождённой 
памяти.

Всё это происходит в хост-системе, причём вся работа на машине 
происходит в контейнере.
На некоторое время помогает перезапуск контейнере, но через 
некоторое время ситуация повторяется.
При этом, что удивительно, и в хост-системе можно запускать 
программы, забирающие всю free memory, и это проходит 
безболезненно.

Тем не менее, процесс выдавливания памяти из cache происходит, 
такое впечатление, как будто попадающая (после очередного 
освобождения кем-то) во free memory память становится запрещённой 
к использованию.

Не представляю, куда копать.

P.S.
2.6.18 сложно использовать, потому что udev >= 153, как я понял, 
его не поддерживает.


-- 
С уважением,
Виталий Липатов, ALT Linux Team, Eternity Software Team
Россия, Санкт-Петербург. http://etersoft.ru
GNU! ALT Linux! WINE! LaTeX! LyX! http://freesource.info


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