Показать меню

KSM

17.12.2020
26

KSM (англ. kernel same-page merging, иногда трактуется как kernel shared memory) — технология ядра Linux, которая позволяет ядру объединять одинаковые страницы памяти между различными процессами или виртуальными гостевыми системами в одну для совместного использования; реализация дедупликации данных для оперативной памяти. Технология предусматривает сканирование памяти в целях поиска дубликатов страниц, каждая пара дубликатов объединяется в одну страницу, помечаемую как подлежащую копированию при записи, таким образом ядро будет автоматически разделять страницы памяти, как только один процесс изменит данные.

Впервые появилась в версии ядра 2.6.32. На первых порах применения были опасения, что функция может быть использована в качестве уязвимости, в последующих выпусках обеспокоенность была учтена. Другой проблемой является то, что поиск дубликатов накладывает дополнительную нагрузку на процессорные ресурсы, поэтому в технологии была предусмотрена оценка — насколько часто будут те или иные страницы памяти изменяться, чтобы в тех случаях, когда ресурсные издержки сравнительно высоки не прибегать к слиянию страниц.

Наиболее широко применяется в системах виртуализации на базе ядра Linux, изначально — в KVM, впоследствии поддержана в Xen и Virtuozzo (в гипервизорах VMware, также построенных на базе ядра Linux, используется собственная технология дедупликации страниц оперативной памяти). Вместе с техниками вытеснения неиспользуемой памяти, подкачки на стороне гипервизора и непосредственного сжатия, KSM обеспечивает системам виртуализации возможность перезакладки ресурсов оперативной памяти (англ. memory overcommitment); в условиях достаточно однородных экземпляров гостевых операционных систем возможен значительный эффект, в частности, экспериментальная реализация KSM от Red Hat показала, что 52 виртуальных экземпляра Windows XP с выделенными 1 ГБ памяти, могут работать на компьютере с 16 ГБ оперативной памяти.

Также установлена применимость и эффективность в определённых случаях вне рамок задач виртуализации.

Еще по этой теме:
AGP
03:23, 17 декабрь
AGP
AGP (от англ. Accelerated Graphics Port, ускоренный графический порт) — специализированная 32-разрядная системная шина для видеокарты, разработанная в 1996 году компанией Intel. Появилась
Netduino
15:40, 15 декабрь
Netduino
Netduino — открытая аппаратная вычислительная платформа, базирующая на .NET Micro Framework и использующая 32-битные микроконтроллеры ARM. Платы Netduino (за исключением вариантов Mini и Go)
Фаустин (святой)
16:10, 11 декабрь
Фаустин (святой)
Фаустин — имя, которое носили некоторые христианские святые: Фаустин Африканский, мученик. Пострадал в Северной Африке вместе с Сатурнином, Наффанианом (Naffanianus) и семью товарищами. День памяти
X32 ABI
15:01, 11 декабрь
X32 ABI
x32 ABI — находящийся в стадии разработки проект двоичного интерфейса приложений для Linux, который позволяет компилировать программы для x32 ABI и работать в 64-разрядном режиме x86-64 с
nForce2
10:54, 08 декабрь
nForce2
nForce2 — чипсет для материнской платы, выпущенный фирмой nVidia в 2002 г. Поддерживал процессоры Athlon, Athlon XP, Duron и Sempron Socket A. Имел поддержку системной шины 100(200), 133(266) и
Unicorn (веб-сервер)
19:36, 02 декабрь
Unicorn (веб-сервер)
Unicorn — свободный веб-сервер, написанный на языке Ruby и предназначенный для запуска Rack-приложений, в том числе написанных на фреймворках Ruby on Rails или Sinatra. Unicorn может запускаться
Комментарии:
Добавить комментарий
Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent