Сен 06 2012

UKSM

Published by

UKSM — технология, позволяющая объединить одинаковые страницы памяти в одну, тем самым снижая потребление оперативной памяти.
В отличии от KSM (Kernel Samepage Merging, изначально спроектированной для KVM), работает быстрей и, самое главное, не требует поддержки от приложений (для KSM необходима поддержка madvise в приложении).
На данный момент не включена в ванильное ядро и доступна в виде патчей.
Так же существуют готовые ядра для различных дистрибутивов с uksm, обычно в сторонних репозиториях.
В Gentoo UKSM присутствует в sys-kernel/pf-sources.

Установка
Скачиваем патч отсюда.
В корне исходников ядра выполняем что-то типа

patch -Np1 -i /путь/до/uksm-0.1.1.2-for-v3.4.ge.2.patch

Параметры ядра:

  • Processor type and features —> Enable KSM for page merging (KSM)

  • Processor type and features —> Enable KSM for page merging (KSM) —> Choose UKSM/KSM strategy—> UKSM

Собираем ядро.

Запуск
Для использования, кроме патченного ядра, необходимо в файл /sys/kernel/mm/uksm/run записать 1

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

параметры

  • /sys/kernel/mm/uksm/sleep_millisecs: сколько миллисекунд uksmd будет спать, прежде чем начнёт снова сканировать память
  • /sys/kernel/mm/uksm/cpu_governor: регулирует скорость работы uksmd. доступны следующие: full medium low quiet.
    текущая политика заключена в квадратные скобки —> [full] medium low quiet
  • /sys/kernel/mm/uksm/max_cpu_percentage: сколько %% процессора может использовать uksmd

5 responses so far

5 Responses to “UKSM”

  1. George Mavrinon 31 Окт 2013 at 03:24

    Много где читал про этот момент, но так и не уверен, имеет ли смысл на старых машинах. Которые с одноядерными процессорами, где загрузка скачет как заяц)))
    То что виртуальные машины хорошо себя чувствуют с этим, это все пишут. А для того же самого Chromium будет прок?

  2. Sergeyon 27 Фев 2014 at 13:51

    Хромиум 10 вкладок — [root@localhost hehe]# uksmstat -s
    34 (мб экономии)

    uname -a

    Linux localhost.lan 3.12.13-1-uksm-ck #1 SMP PREEMPT Thu Feb 27 03:46:22 UTC 2014 i686 GNU/Linux

  3. megabakson 27 Фев 2014 at 20:12

    думаешь shared переводится как «экономия»?

  4. Zenitharon 19 Сен 2015 at 13:24

    1). Загружаем в память 100500 одинаковых данных.
    2). Заполняем остальную память так, чтобы 99% памяти было занято
    3). В 100500 одинаковых данных вносим разные изменения в каждые данные.
    4). ????
    5). Kernel Panic

  5. megabakson 25 Сен 2015 at 22:55

    и что тут удивительного?

Trackback URI | Comments RSS

Leave a Reply


*

Powered by WordPress