[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