Из Википедии, бесплатной энциклопедии
  (Перенаправлено из Kernel SamePage Merging )
Перейти к навигации Перейти к поиску

В вычислении , ядро же-страницу слияния ( КСМ ), также известный как ядро общей памяти , слияние памяти , устранение дублирования памяти и страницы дубликатов является ядром особенность , которая делает возможным для гипервизора системы на долю страниц памяти , которые имеют одинаковые содержимое между несколькими процессы и / или виртуализированные гости. Виртуальная машина на основе ядра (KVM), хотя и не связана напрямую, может использовать KSM для объединения страниц памяти, занятых виртуальными машинами .

KSM выполняет дедупликацию памяти путем сканирования основной памяти физических страниц с идентичным содержимым и определяет виртуальные страницы, которые сопоставлены с этими физическими страницами. Он оставляет одну страницу без изменений и повторно отображает каждую повторяющуюся страницу так, чтобы она указывала на одну и ту же физическую страницу, после чего освобождает дополнительные физические страницы для повторного использования. Он также помечает обе виртуальные страницы как « копирование при записи » (COW), так что ядро ​​автоматически переназначает виртуальную страницу обратно на ее собственную отдельную физическую страницу, как только какой-либо процесс начинает писать на нее. [1]

KSM изначально предназначался для запуска большего количества виртуальных машин на одном хосте путем разделения памяти между процессами, а также виртуальными машинами. После его внедрения пользователи обнаружили, что KSM также может быть полезен для невиртуализированных сред, в которых память находится в дефиците. [2] [3] Экспериментальная реализация KSM от Red Hat показала, что 52 виртуальных экземпляра Windows XP с 1 ГБ памяти могут работать на главном компьютере, имеющем только 16 ГБ оперативной памяти. [4]

KSM был объединен с основной веткой ядра Linux в версии 2.6.32, выпущенной 3 декабря 2009 года. [2] [4] Чтобы быть эффективным, ядро ​​операционной системы должно находить идентичные страницы памяти, удерживаемые разными процессами. Ядру также необходимо предсказать, будут ли страницы обновляться достаточно редко, чтобы слияние было эффективным использованием ресурсов процессора. [3] Обеспокоенность заключается в том, что, хотя использование памяти уменьшается, загрузка ЦП увеличивается, что сводит на нет потенциальное увеличение производительности. [1]

Угрозы безопасности [ править ]

Безопасность также вызывает беспокойство:

См. Также [ править ]

Ссылки [ править ]

  1. ^ a b «KSM пытается снова» . lwn.net . kernel.org . Проверено 21 августа 2010 года .
  2. ^ a b «Анатомия разделяемой памяти ядра Linux» . Разработчик IBM . IBM. Архивировано 9 июля 2016 года . Проверено 21 августа 2010 года .CS1 maint: неподходящий URL ( ссылка )
  3. ^ a b «Увеличение плотности памяти с помощью KSM» (PDF) . kernel.org . Проверено 21 августа 2010 года .
  4. ^ a b «Ядро Linux 2.6.32, раздел 1.3. Объединение одинаковых страниц ядра (дедупликация памяти)» . kernelnewbies.org . 3 декабря 2009 . Проверено 12 августа 2015 года .
  5. ^ Куньяж Suzaki; Кенго Иидзима; Тошики Яги; Сирил Арто. «Дедупликация памяти как угроза для гостевой ОС» (PDF) .
  6. ^ Баррези, Антонио; Разави, Кавех; Плательщик, Матиас ; Гросс, Томас Р. (август 2015 г.). «CAIN: автоматическое прерывание ASLR в облаке» (PDF) . USENIX . Проверено 12 августа 2015 года .
  7. ^ Red Hat; Поляков, Энди. «Это все вопрос времени - атаки AES по времени на OpenSSL» . access.redhat.com . Красная шляпа . Проверено 4 августа 2016 года .
  8. ^ «Новая атака FFS Rowhammer перехватывает виртуальные машины Linux» . Проверено 17 августа 2016 года .

Внешние ссылки [ править ]

  • Документация ядра Linux
  • Использование KSM (архивировано 2 июля 2014 г.)
  • Страница Fedora KSM
  • Сайт виртуальной машины на основе ядра - KSM