Live patching доступен только на SLE12+ Продается как расширение SLE12, поэтому вам нужен действительный ключ и регистрация, чтобы получить Live-патчи.
SUSE предлагает 60-дневную пробную версию на странице покупки Live patching
Live patching контролируется инструментом kgr
:
# kgr
Error: no command provided
Usage: /usr/bin/kgr [-h][-v] COMMAND
Query and manipulate kGraft patching status.
Commands:
status: display the overall status of kGraft patching
patches: display the list of loaded patches
blocking: list processes that are preventing kGraft patching
from finishing
poke: move forward with the kGraft patching by sending
STOP and CONT signal to the pending processes
Options:
-h print this help
-v more detailed output
Report bugs at https://bugzilla.suse.com/.
и проверка примененных патчей:
# kgr -v patches
kgraft_patch_2_2_1
active: 1
RPM: kgraft-patch-3_12_62-60_64_8-default-2-2.1.x86_64
CVE: CVE-2016-8666 CVE-2016-6480
bug fixes and enhancements: (none)
Для собственной проверки исправленной ошибки вы можете попробовать воспроизвести ошибку, если она существует. (не рекомендуется, SUSE's QA-Maintenace очень тщательно тестирует эти патчи перед выпуском для своих клиентов)
Управление памятью ("MM") в Linux кажется немного заумным и сложным для отслеживания.
В литературе по Linux часто упоминается LRU (Least Recently Used), в контексте управления памятью. Я не заметил упоминания других терминов.
Я нашел интересное введение (первые четыре параграфа) в этой статье на несравненном LWN.net. В ней объясняется, как базовый LRU может быть реализован на практике для виртуальной памяти. Читайте.
Настоящая замена LFU (Least Frequently Used) не считается практичной для виртуальной памяти. Ядро не может считать каждое чтение страницы, когда mmap()
используется для доступа к страницам файлового кэша - например, так загружается большинство программ в память. Накладные расходы на производительность были бы слишком велики.
Чтобы выйти за рамки этой простой концепции, есть набросок дизайна Linux версии 2.6.28-32 здесь:
http://linux-mm.org/PageReplacementDesign
Там предлагается использовать Clock-PRO для файловых страниц. Имеется оригинальная статья по этому поводу. Есть старое описание Clock-PRO на LWN.net, опять же включая некоторые практические детали реализации. Судя по всему, Clock-PRO "пытается выйти за рамки подхода LRU", вариант которого "используется в большинстве систем". Похоже, что он придает большее значение частоте.
Linux-mm имеет другой проектный документ для реализации Clock-PRO в Linux. В этом документе не говорится о том, что он будет объединен; он был написан за несколько месяцев до появления статьи в LWN об этом. http://linux-mm.org/ClockProApproximation
Более поздние описания гласят, что Linux просто "использует некоторые идеи" из Clock-PRO, и на самом деле является "мешаниной из ряда различных алгоритмов с рядом модификаций для отлова угловых случаев и various optimisations".
На приведенную выше цитату ответил вопросом Адриан МакМенамин. МакМенамин продолжил работу над магистерским проектом в 2011 году, тестируя модификации замены страниц Linux, основанные на "модели рабочего набора". Он включает краткое описание замены страниц в Linux. Вариант LRU" назван "подходом 2Q [two-queue] для управления базами данных", приводится ряд ссылок, есть диаграмма, иллюстрирующая перемещение между двумя очередями и другие переходы состояний. Он также описывает Linux как использующий частичную реализацию CLOCK-PRO.
Я полагаю, что концепция LRU, в отличие от других возможностей, о которых вы упоминаете, была заложена с самого начала. А самым значительным изменением стало внедрение функций на основе Clock-PRO, т.е. придание большего веса частоте.
В 2013 году в Linux появился "размер файлового кэша на основе обнаружения трэша". Это, вероятно, также относится к вопросу.