zram что это такое
zRAM на Android — что это и как работает?
Правда, что технология zRAM может ускорить работу бюджетного смартфона?
В современных бюджетных смартфонах остро стоит проблема нехватки оперативной памяти. В последних версиях Android инженеры нашли решение этой проблемы в виде использования zRam — блока подкачки, создаваемого внутри оперативной памяти. Как работает такая технология и насколько она эффективна?
Что такое zRam?
Модуль zRam разработан с целью оптимизации системной памяти путем создания блочного устройства внутри ОЗУ. Таким образом, предотвращается подкачка страниц на диск и увеличивается производительность. За счет сжатия фоновых приложений внутри ОЗУ система способна выполнять большее количество операций подкачки.
Эта технология актуальна для современных бюджетных устройств, которые работают на нескольких ядрах, но имеют всего 512 Мб оперативной памяти. zRam условно увеличивает объем ОЗУ, улучшая работу системы. Но поддержка подобного модуля доступна далеко не всем устройствам.
Как активировать оптимизацию системы через zRAM?
Для начала потребуется запустить режим разработчика:
В разделе «Swappiness» можно узнать, с какой частотой система обращается к zRam по умолчанию. Этот показатель можно изменить, установив значение от 1 до 100. Опция «Swappiness» находится по пути /proc/sys/vm/ через менеджер файлов. Исправность работы модуля проверяется посредством приложения Diskinfo. Если в самом низу меню программы присутствует пункт SWAP, значит, технология активна.
Заключение
Модуль zRam оптимизирует работу системной памяти, увеличивая производительность медленного устройства. Технология разработана для бюджетных многоядерных устройств с низким объемом оперативной памяти. Поддерживается функция только в последних версиях Android.
zRAM на Android — что это и как включить
Современные бюджетные гаджеты на Андроид сталкиваются с тем, что для полноценной работы им недостаточно оперативной памяти. Инженеры смогли решить данный вопрос путем создания блока подкачки zRam. Предлагаю детально рассмотреть возможности этой технологии и проанализировать ее эффективность.
Данная статья подходит для всех брендов, выпускающих телефоны на Android 11/10/9/8: Samsung, HTC, Lenovo, LG, Sony, ZTE, Huawei, Meizu, Fly, Alcatel, Xiaomi, Nokia и прочие. Мы не несем ответственности за ваши действия.
Внимание! Вы можете задать свой вопрос специалисту в конце статьи.
Что такое zRam?
Разработчики создали данный модуль для оптимизации памяти в системе Андроид. Для этого создается внутри ОЗУ блочное устройство.
Это предотвращает возможность подкачки страниц на диск, а также существенно повышает производительность. При помощи фоновых программ внутри оперативной памяти Андроид будет выполнять больше операций подкачки.
Данная идея настолько эффективная, что даже Гугл советует использовать zRam для гаджетов, ОЗУ которых не более 512 Мб. Единственный нюанс состоит в том, что метод эффективно работает только с современными бюджетными девайсами, которые базируются на многоядерных процессорах и имеют 512 Мб оперативной памяти.
Не знаешь как решить проблему в работе своего гаджета и нужен совет специалиста? На вопросы отвечает Алексей, мастер по ремонту смартфонов и планшетов в сервисном центре.Напиши мне »
В данном случае на отдельное ядро можно перенести весь поток шифрования, чтобы не задумываться о вопросе производительности. Если zRam использовать на устаревших девайсах с одним ядром, то система будет функционировать с ошибками.
Запускаем через zRam оптимизацию системы
Пользователю сначала необходимо перейти в режим разработчика:
В меню «Swappiness» демонстрируются данные, с какой именно частотой к zRam обращается система по умолчанию. Данное значение можно изменять в диапазоне 1 – 100. Располагается функция «Swappiness» в разделе системы /proc/sys/vm/, в который можно попасть при использовании менеджера файлов.
Приложение Diskinfo используется для проверки исправного функционирования этого модуля. Если внизу утилиты демонстрируется раздел SWAP, значит данная опция активна.
ZTE Blade L 130 Android 9 Go Как узнать поддерживает ли данное устройство функцию z-ram?
ZTE Blade L 130 Android 9 Go – под SWAP выделена почти вся оперативка /за исключением 42 Мб/ – дикие тормоза. Может ли это быть причиной и если – да, то как исправить.
у меня самсунг а50 я думаю оно заражено вирусом плей маркет не обновляет игру а в оперативной памяти пишет z-ram1,7mb обичная(52%) insant-app-installer340kb низкая(0%)GOOGLE PLAY маркет73мб обичная(52)
Подозреваю что телефон заражен каким то вирусом. Сброс системных настроек не помогает. Samsung m21 в приложении яндекс дзен нашел z Ram и Metrica какая то. Плюс приложение google duo которое не могу найти на телефоне а оно есть — обновляется само по себе. Как решить эту проблему. Помогите
Всем здравствуйте. У меня Samsung Galaxy A41. У него 4 ГБ озу и zRam был 2.5 ГБ. С помощью приложения Kernel Adiutor я умудрился отключить zRam в 0. И теперь смартфон стал работать намного быстрее, раза в 4. Свободной озу теперь стабильно 1 ГБ (до отключения было 1.6 ГБ). Вопрос: нужен ли вообще этот zRam?
Поддержите нашу работу монетой на странице сбора donationalerts.com »
Мы рады любой сумме и продолжим свою бесплатную работу по оказанию помощи всем, кто в ней нуждается.
Блог начинающего линуксоида.
советы, руководства, инструкции.
Страницы
вторник, 15 декабря 2015 г.
Zram и Zswap или как увеличить эффективность оперативной памяти
Zram или Zswap?
Установка.
Примеры установки я покажу на дистрибутиве Ubuntu 14.04 и Debian 8. В остальных дистрибутивах различия будут не существенными (обратитесь к документации вашего дистрибутива). Начнём с ZRAM. Для Ubuntu всё просто:
sudo apt install zram-config
sudo nano /etc/sysctl.conf
Дописываем в конец строку:
сохраняем и выполняем:
либо перезагружаемся. Вот и всё. Для Debian всё немного сложнее. Но совсем чуть чуть 🙂 Открываем терминал, вводим:
sudo nano /etc/init.d/zram
Вставляем следующий скрипт:
Сохраняем. Далее даём права на исполнение:
sudo chmod +x /etc/init.d/zram
Перезагружаемся и всё.
Теперь о ZSWAP. Здесь всё значительно проще. Нужно лишь передать ядру во время загрузки, параметр zswap.enabled=1. Для этого открываем файл /etc/default/grub
sudo nano /etc/default/grub
И в строку GRUB_CMDLINE_LINUX_DEFAULT дописываем этот параметр. Чтобы было вот так:
и перезагрузка. После перезагрузки, можете убедиться в работе ZSWAP, введя команду dmesg | grep zswap Если ответом будет
[ 1.273249] zswap: loading zswap
[ 1.273252] zswap: using lzo compressor
значит всё сработало на отлично. Способ включения ZSWAP одинаков для большинства дистрибутивов. Если нужно ограничить объём пула для ZSWAP, то там же в параметрах указываем:
Вот так мы быстро и без лишних телодвижений, увеличили эффективность оперативной памяти, лишь незначительно увеличив нагрузку на процессор.
Использование zRam для увеличения количества доступной памяти под Linux
Уже 2 месяца использую на своих компьютерах модуль zRam и хочу поделиться результатами. На практике он позволил мне не используя раздел подкачки, и не получая видимого замедления работы компьютера увеличить размер оперативной памяти в 2.5-3 раза. На сервере виртуалок тот же подход позволил очень ощутимо увеличить отзывчивость при нехватке памяти.
Заинтересовавшихся прошу под кат.
zRam это экспериментальный модуль ядра Linux (ранее известный как «compcache»). Он увеличивает производительность путем предотвращения подкачки страниц на диск, используя сжатое блочное устройство в оперативной памяти, пока не появится необходимость использовать файл подкачки на жестком диске. Скорость обмена с оперативной памятью быстрее, чем с жестким диском, следовательно zRam позволяет Linux производить большее число операций подкачки, особенно на старых компьютерах с малым объемом оперативной памяти.
Для пользователя все выглядит так: для начала нужно загрузить модуль (предварительно скомпилировав если он отсутствует)
В num_devices задается количество сжатых блочных устройств, которое будет создано.
Для наиболее оптимального использования CPU стоит учесть: сжатие каждого устройства zram однопоточное. Потому я создаю их по количеству ядер.
При настройке модуля задается фиксированный размер НЕ сжатых данных в байтах
В итоге будет создано устройство /dev/zram0 заданного размера
Данные записанные на него будут прозрачно сжаты в памяти. Что делать с ним далее — уже ваш выбор, я на этих устройствах создаю разделы подкачки.
Далее уже ядро думает само какие данные туда складывать в зависимости от того как часто вы к ним обращаетесь и как много памяти свободно.
Мой опыт показывает, что степень сжатия обычно 1 к 3.
На практике это позволило на ноутбуке в 8Gb памяти вынести компиляцию libreoffice в tmpfs. (она требует 7 Гбайт временных файлов и примерно 1 Гбайт памяти потребляет каждый поток gcc при сборке).
Дополнение:
Изначально разработка велась под названием compcache, и первые рабочие версии были сделаны для ядра 2.6.26(Июль 2008)
Начиная с декабря 2009 года и ядра 2.6.33 оно доступно в ядре, в разделе Staging. Для более старый ядер патчи все еще доступны на вышеуказанном сайте.
В ядре 3.8 должно было быть вынесено из Staging, но это не произошло.
Настройка zRam в Linux
При этом степень сжатия данных получается в среднем 3:1. Это означает что на 1 гигабайт подкачки будет использовано в 333 мегабайт физической памяти. Сейчас оперативная память стоит не так уж дорого, но использование zRam вместо файла подкачки на диске может быть полезным для старых ноутбуков и компьютеров, а также для виртуализации. В этой статье мы рассмотрим как выполняется настройка zRam Linux на примере Ubuntu.
Настройка zRam в Linux
Шаг 1. Модуль ядра
Это модуль ядра, а следовательно, важно, чтобы ваше ядро его поддерживало. zRam включен в стандартную поставку начиная с ядра версии 3.14. Вы можете посмотреть вашу версию ядра командой:
Проверка информации о модуле ядра:
Если у вас более старое ядро, вам придется забыть про эту технологию или пересобрать его с этой настройкой. Модуль включается здесь:
Шаг 2. Настройка Grub
Когда модуль загружен надо установить параметр ядра zram.num_devices который указывает максимальное количество сжатых устройств. Например для двух блочных устройств используйте добавьте в переменную GRUB_CMDLINE_LINUX_DEFAULT следующий параметр:
sudo vi /etc/default/grub
Затем обновите конфигурацию Grub и перезагрузите компьютер:
Шаг 3. Скрипт запуска и остановки
Чтобы автоматизировать запуск zram желательно написать скрипт, который будет выполнять все необходимые действия. Давайте создадим скрипт, который запускает четыре zRam устройства и подключает их в качестве swap:
sudo vi /usr/local/bin/zram-start.sh
Рассмотрим подробнее что означают строчки скрипта. Первая строчка с modprobe активирует модуля ядра на два блочных устройства. Следующие две строчки устанавливают размер для этих устройств в 1 Гб. Размер устанавливается в мегабайтах. Затем, для каждого блочного устройства создаем файловую систему подкачки командой mkswap и активируем его с помощью команды swapon. Теперь создадим скрипт, который выгружает всё это и отключает zram:
sudo vi /usr/local/bin/zram-stop.sh
Обоим скриптам надо дать права на выполнение:
sudo chmod ugo+x /usr/local/bin/zram-start.sh
sudo chmod ugo+x /usr/local/bin/zram-stop.sh
Шаг 4. Тестирование zRam
Теперь надо всё протестировать. Запустите zRam выполнив скрипт запуска:
Теперь вы можете убедится, что количество подкачки увеличилось на 2 Гб:
Всё работает, теперь можно проверить работает ли скрипт отключения:
Шаг 5. Настройка сервиса systemd
Чтобы запускать zram по умолчанию нужно создать для него юнит файл systemd. Создайте файл со следующим содержимым:
[Unit]
Description=zRAM block devices swapping
[Service]
Type=oneshot
ExecStart=/usr/local/bin/zram-start.sh
ExecStop=/usr/local/bin/zram-stop.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
После этого выполните команду daemon-reload, чтобы перечитать конфигурацию systemd:
sudo systemctl daemon-reload
Запустите сервис systemd и добавьте его в автозагрузку:
sudo systemctl start zram
sudo systemctl enable zram
Выводы
В этой небольшой статье мы рассмотрели как включить zram ubuntu. Как видите, в современных версиях дистрибутива, где модуль уже включён в ядро в этом нет ничего сложного. А пользуетесь ли вы какими-либо технологиями сжатия памяти? Напишите в комментариях!