Объединение одностраничников ядра
-
Основы KSM
- KSM (kernel same-page merging) объединяет страницы памяти для нескольких процессов или виртуальных машин.
- Виртуальные машины на базе ядра (KVM) могут использовать KSM для совместного использования памяти.
-
Дедупликация памяти
- KSM находит идентичные страницы в памяти и объединяет их, освобождая дополнительные ресурсы.
- Страницы, объединенные KSM, помечаются как «копируемые при записи», чтобы автоматически преобразовываться обратно в физические при записи.
-
Эффективность и интеграция
- Эксперименты показали, что KSM позволяет запускать больше виртуальных машин на одном хосте.
- KSM был интегрирован в ядро Linux в версии 2.6.32 и стал стандартным инструментом для оптимизации использования памяти.
-
Риски безопасности
- KSM может обходить рандомизацию расположения адресного пространства и раскрывать информацию через временные атаки.
- KSM может способствовать заражению криптографических ресурсов других виртуальных машин.
-
Дополнительные ресурсы
- Ссылки на дедупликацию данных и хранилище с одним экземпляром.
- Ссылки на документацию по ядру Linux и страницу Fedora KSM.
- Сайт виртуальной машины на базе ядра, использующей KSM.
Полный текст статьи: