- Kernel SamePage Merging (KSM)
-
Kernel SamePage Merging (KSM) (также: Kernel Shared Memory, Memory Merging) — позволяет ядру объединять одинаковые страницы памяти между различными процессами или виртуальными гостевыми системами в одну для совместного использования. Эта возможность используется KVM для того, чтобы несколько аналогичных гостевых виртуальных машин могли занимать меньше памяти. Поскольку память используется совместно, общее её использование гостевыми системами снижается.
Это осуществляется путем сканирования памяти и поиска дубликатов страниц. Затем пара дубликатов объединяется в одну страницу, и сопоставляется прежним местам. Эта страница помечается как "copy-on-write", так что ядро будет автоматически разделять их снова, как только один процесс изменит данные.[1]
KSM первоначально была предназначена для запуска нескольких виртуальных машин на одном хосте, чтобы память процессов, а также виртуальных машин использовалась совместно. После реализации, было также установлено, что технология может быть полезна не только для использования в виртуальных средах.[2][3] Экспериментальная реализация KSM от Red Hat показала, что 52 виртуальных экземпляра Windows XP с 1 Гб памяти, могут работать на компьютере с 16 Гб оперативной памяти.[4]
KSM впервые появилась в версии 2.6.32 ядра Linux.[2] Для эффективной работы, ядро операционной системы должно найти похожие страницы памяти, принадлежащие разным процессам. Также оно должно решить, будут ли страницы обновляться достаточно часто, чтобы слияние памяти эффективно использовало ресурсы процессора.[3] Первоначально были опасения, что эта функция может быть использована в качестве уязвимости (эта обеспокоенность в последующем была учтена). Еще одной проблемой является то, что хотя использование памяти снижается, загрузка процессора увеличивается, тем самым отрицая потенциал увеличения производительности.[1]
Ссылки
- ↑ 1 2 KSM tries again. lwn.net. kernel.org. Архивировано из первоисточника 16 сентября 2012. Проверено 21 августа 2010.
- ↑ 1 2 Anatomy of Linux Kernel Shared Memory. IBM DeveloperWorks. IBM. Архивировано из первоисточника 16 сентября 2012. Проверено 21 августа 2010.
- ↑ 1 2 Increasing memory density by using KSM. kernel.org. kernel.org. Архивировано из первоисточника 16 сентября 2012. Проверено 21 августа 2010.
- ↑ Kernel Samepage Merging (memory deduplication). kernelnewbies. kernelnewbies. Архивировано из первоисточника 16 сентября 2012. Проверено 21 августа 2010.
Внешние ссылки
- Using KSM
- Fedora KSM page
- Kernel-based virtual machine site
- Multiplicity platform
- Small-device hypervisor (microvisor)
- Open source processor emulator
- Xen hypervisor
- Detail Overview of the KSM merging process
На эту статью не ссылаются другие статьи Википедии. Пожалуйста, воспользуйтесь подсказкой и установите ссылки в соответствии с принятыми рекомендациями.Категория:- Управление памятью
Wikimedia Foundation. 2010.