Зачем платить больше? Инструкция по выживанию в мире, где оперативная память стоит как крыло самолета
NewsMakerZram и zswap помогают пережить нехватку RAM без срочной покупки новых модулей памяти.
Память дорожает, а значит Linux снова подталкивает пользователей к старому, но очень полезному вопросу: как выжать больше из уже установленной RAM, не покупая новые модули. В такой момент особенно полезно вспомнить о двух встроенных механизмах сжатия памяти, zram и zswap . Первый вариант давно знаком многим владельцам Linux-систем, второй обсуждают заметно реже, хотя на обычных ПК и ноутбуках второй подход нередко оказывается даже практичнее.
Оба механизма опираются на swap, то есть на область подкачки, куда ядро отправляет часть данных, когда свободная оперативная память заканчивается. Команда swapon включает устройства и файлы, которые система использует для paging и swapping. Логика подкачки проста: ядро убирает из RAM страницы, которые сейчас не нужны, освобождает место для активных задач, а затем при необходимости возвращает данные обратно. Проблема в том, что накопитель работает намного медленнее оперативной памяти, поэтому активный swap почти всегда делает систему менее отзывчивой.
Поэтому популярная идея «памяти много, swap не нужен» обычно приносит больше вреда, чем пользы. Даже мощной машине полезен запасной клапан на случай неожиданной нагрузки, скачка потребления памяти или неудачно запущенного приложения. Swap нужен не для постоянной работы в аварийном режиме, а для устойчивости системы в неприятный момент.
В Linux по-прежнему есть два базовых варианта подкачки: swap-файл или отдельный swap-раздел. Для большинства современных систем разница между ними уже не выглядит критичной, поэтому выбор чаще упирается в удобство конфигурации. Дальше начинается самое интересное, потому что zram и zswap решают одну задачу разными путями.
Память дорожает, а значит Linux снова подталкивает пользователей к старому, но очень полезному вопросу: как выжать больше из уже установленной RAM, не покупая новые модули. В такой момент особенно полезно вспомнить о двух встроенных механизмах сжатия памяти, zram и zswap . Первый вариант давно знаком многим владельцам Linux-систем, второй обсуждают заметно реже, хотя на обычных ПК и ноутбуках второй подход нередко оказывается даже практичнее.
Оба механизма опираются на swap, то есть на область подкачки, куда ядро отправляет часть данных, когда свободная оперативная память заканчивается. Команда swapon включает устройства и файлы, которые система использует для paging и swapping. Логика подкачки проста: ядро убирает из RAM страницы, которые сейчас не нужны, освобождает место для активных задач, а затем при необходимости возвращает данные обратно. Проблема в том, что накопитель работает намного медленнее оперативной памяти, поэтому активный swap почти всегда делает систему менее отзывчивой.
Поэтому популярная идея «памяти много, swap не нужен» обычно приносит больше вреда, чем пользы. Даже мощной машине полезен запасной клапан на случай неожиданной нагрузки, скачка потребления памяти или неудачно запущенного приложения. Swap нужен не для постоянной работы в аварийном режиме, а для устойчивости системы в неприятный момент.
В Linux по-прежнему есть два базовых варианта подкачки: swap-файл или отдельный swap-раздел. Для большинства современных систем разница между ними уже не выглядит критичной, поэтому выбор чаще упирается в удобство конфигурации. Дальше начинается самое интересное, потому что zram и zswap решают одну задачу разными путями.