Хотя ZRAM - это фантастическое решение для обмена некоторой мощности процессора, чтобы получить больше оперативной памяти, как вы можете настроить его, чтобы выделить больше или меньше оперативной памяти для ZRAM? Как можно изменить алгоритм сжатия? В каких сценариях такие изменения имеют смысл? Прочтите, чтобы узнать, как настроить ZRAM в Ubuntu.
Проверьте свое текущее состояние ZRAM
Большинство людей используют ZRAM в своих Ubuntu, Mint или другом совместимом дистрибутиве через скрипт zram-config. Это потому, что он позволяет вам использовать ZRAM самым простым способом. Вы можете установить его командой:
sudo apt install zram-config
Его значения по умолчанию устанавливают ZRAM на половину фактической RAM вашего компьютера, разделенную на несколько разделов, по одному для каждого ядра вашего процессора. Вы можете проверить это с помощью:
cat / proc / swaps
Вы можете увидеть типичный файл подкачки (запись «/ var / cache / swap / swapfile»), сосуществующий с восемью томами ZRAM на нашем снимке экрана. В моей системе было 8 ГБ ОЗУ. Если вы сложите эти тома ZRAM вместе, сумма составит 4 ГБ, что составляет половину нашего объема ОЗУ. Однако, в зависимости от вашей рабочей нагрузки, вы можете изменить этот размер.
- Если вы работаете с мультимедиа и видео, они не очень сжимаются, поэтому, вероятно, будет лучше, если вы уменьшите размер ZRAM и увеличите фактический размер свопа.
- Если вы работаете с большими базами данных или другими типами данных, которые сильно сжимаются, все наоборот. В таких сценариях вы можете увеличить скорость отклика вашего компьютера, увеличив размер ZRAM.
Еще одна настройка, на которую стоит обратить внимание, связана с алгоритмом сжатия, используемым ZRAM. По умолчанию он использует LZO или LZO-RLE, что означает свет на ЦП. Однако на современных процессорах новый алгоритм ZSTD обычно предлагает лучшую степень сжатия, и его несколько более высокая нагрузка на процессор не ощущается. Этот алгоритм стоит использовать вместо старых вариантов LZO, если вашему компьютеру меньше десяти лет.
Вы можете использовать эту zramctl команду, чтобы проверить алгоритм, используемый в настоящее время ZRAM. Введите zramctl терминал и нажмите Enter, чтобы увидеть свопы ZRAM.
Zramctl уже должен быть доступен в вашем дистрибутиве. Если это не так, поскольку это часть пакета util-linux, вы можете использовать его с помощью:
sudo apt install util-linux
Однако, чтобы контролировать работу ZRAM, вам придется настроить его основной скрипт. Начнем с изменения количества используемой оперативной памяти.
Изменить размер ZRAM
Чтобы изменить настройки ZRAM, вам нужно будет отредактировать его скрипт exec в папке bin. Введите в терминале следующую команду:
sudo nano / usr/ bin/ init-zram-swapping
Чтобы изменить объем оперативной памяти, используемой ZRAM, вам необходимо отредактировать следующую строку:
mem = $ ( ( ( totalmem / 2 / $ {NRDEVICES} ) * 1024 ) )
Эта строка определяет, сколько RAM ZRAM будет использовать на основе некоторых простых вычислений:
- totalmem объем оперативной памяти, установленной на вашем ПК
- /2 делит totalmem на два, что соответствует «половине общего объема оперативной памяти»
- / ${NRDEVICES} делит это число на количество ядер на вашем ПК
- * 1024 умножает результат вышеуказанного на 1024
Вы не можете и не должны ничего менять в пунктах 1 и 3, но вы можете поиграть со значениями в пунктах 2 и 4, чтобы настроить объем оперативной памяти, используемой ZRAM.
- При увеличении /2 до / 4 общий объем оперативной памяти будет разделен на четыре, а не на два. Таким образом, ZRAM будет использовать только четверть вашей оперативной памяти вместо половины. Мы бы не советовали выделять всю свою оперативную память для ZRAM, поэтому лучше оставить это значение / 2 или увеличить его, если вы хотите чтобы ZRAM использовал меньше памяти.
- Точно так же, сохраняя, / 2 но уменьшая 1024 до 512 , вы получите тот же результат, поскольку вы уменьшите вдвое доступную оперативную память для каждого устройства. Если вы хотите, чтобы ZRAM использовал больше ОЗУ, вы можете увеличить это значение до 1536 .
Изменить алгоритм сжатия ZRAM
Вы можете изменить алгоритм сжатия ZRAM с того же места.
Сначала проверьте алгоритм сжатия, который он использует в настоящее время:
cat / sys/ block/ zram0/ comp_algorithm
Вы можете смешивать и сопоставлять алгоритмы в расширенных пользовательских конфигурациях ZRAM. Однако, если вы используете значения по умолчанию, все разделы ZRAM будут использовать один и тот же алгоритм. Таким образом, вам не нужно проверять все из них - в приведенной выше команде мы проверяем только первый.
Мы уже использовали алгоритм ZSTD, который вы можете увидеть в скобках на скриншоте выше. Сейчас это считается лучшим решением между степенью сжатия, скоростью и потребностью в ресурсах, так что оставьте все как есть. Однако, если вы используете значения по умолчанию, у вас будет включен либо LZO, либо LZO-RLE. Чтобы изменить его, вернитесь к сценарию exec init-zram-swapping, который мы редактировали ранее. Там найдите следующую строку:
echo $mem > / sys/ block/ zram${DEVNUMBER} / disksize
Скопируйте его, а затем вставьте прямо под ним, чтобы у вас было два экземпляра одной и той же команды. Эта строка назначает результат вычислений, которые мы видели ранее, как размер каждого тома ZRAM. Однако вместо этого мы будем использовать его для определения алгоритма сжатия.
- Замените $mem в первом экземпляре в начале строки на zstd .
- Замените disksize в конце строки на comp_algorithm .
Измененная строка должна выглядеть так:
echo zstd > / sys / block / zram $ {DEVNUMBER} / comp_algorithm
Наша измененная линия вместо этого отображается zstd как значение параметра comp_algorithm .
Если вы хотите использовать другой алгоритм, измените zstd в приведенной выше команде имя алгоритма.
Сохраните измененный файл, перезагрузите компьютер и проверьте результаты.
Обязательно проверьте производительность вашей системы под нагрузкой, когда она активно использует ваши настроенные свопы. Если вы чувствуете, что он пыхтит или заикается, возможно, вы перестарались и вам нужно уменьшить выбранные вами значения. Если, с другой стороны, он летает вы вероятно, можете увеличить их еще немного.