Включение модуля uksm в ядро

module.jpg

Несколько видеороликов Адриена (см. ниже), а так же положительные отзывы пользователей, вдохновили нас на поиски новых путей оптимизации потребления памяти в Calculate Linux.

https://www.youtube.com/watch?v=au_hzfeMHB8
https://www.youtube.com/watch?v=SEMqj1up3IA
https://www.youtube.com/watch?v=Nla6pd7UQCE

Два года назад мы добавляли в ядро патч UKSM (Ultra Kernel Samepage Merging), позволяющий путём объединения одинаковых страниц высвобождать память. Потом от него отказались перейдя на использование KSM. Получив недавно положительную оценку его работы мы решили снова попробовать.

Тест выполняется очень просто. Вначале отключите модуль выполнив сразу после загрузки, а лучше в загрузочном скрипте:

echo 0 > /sys/kernel/mm/uksm/run

После этого можно запустить браузер и пооткрывать разные сайты, в общем создать обычную активность. Затем запустите htop и посмотрите потребление памяти. Теперь активируйте модуль и посмотрите на результат команды htop.

echo 1 > /sys/kernel/mm/uksm/run

Вы увидите как память начнёт на глазах высвобождаться (см. видео). В серии тестов нам удалось высвободить до 18% ОЗУ при ~20 открытых вкладках в браузере с разными сайтами. Во время своей работы модуль расходует менее 1% производительности процессора, что вполне оправдано.

https://www.youtube.com/watch?v=XupyiJj8634

В свете работы над проектом lxc-desktop, позволяющим запускать несколько копий системы на одном ПК, возможность объединять одинаковые страницы будет ещё более эффективной. В общем модуль со всех сторон показал себя с лучшей стороны, а потому включён по умолчанию в серверные и десктопные ядра, обновление которых уже доступно в тестовом репозитории.

после следующих обновлений я смогу данное безболезненно отключить?

Maxim Ronzhin писал(а):

после следующих обновлений я смогу данное безболезненно отключить?

Только пересборкой ядра.