test adv
,

Виртуальные гигабайты оперативной памяти для Android. Что такое файл подкачки

Если вы пользуетесь слабым смартфоном с относительно малым объёмом ОЗУ, частично исправить ситуацию поможет файл подкачки

В начале 2010-х годов были очень популярны приложения для так называемого «увеличения» объёма оперативной памяти в Android-смартфонах. Связано это было с тем, что устройства того времени обладали очень скромными техническими характеристиками, особенно если говорить об оперативной памяти — в лучшем случае на бюджетном аппарате пользователь получал 512 МБ ОЗУ. Происходило это увеличение при помощи SWAP. О том, что это такое, почему пользователю приходилось активировать его самостоятельно, и, самое главное, даст ли такой способ увеличения оперативной памяти пользу сейчас — далее в статье.

Что такое SWAP и почему в Android его не используют по умолчанию

SWAP в Android выполняет функцию виртуальной оперативной памяти — такой памяти, которая хранится в виде файла на накопителе устройства, но при этом используется в качестве оперативной. Такая память действительно работает и может быть полезной, если нужно одновременно работать с большим количество программ, но у неё есть и минусы: ухудшается отзывчивость системы и расходуется ресурс записи накопителя.

👨‍💻 Если углубиться в технические детали

Для начала стоит вспомнить, что Android — операционная система, которая основана на ядре Linux. При установке Linux на ПК, пользователю предлагается создать специальный раздел для SWAP, который служит как файл подкачки, аналогичный подобному в Windows, а также как место, в которое операционная система может выгрузить неиспользуемые в настоящий момент данные из оперативной памяти. Конкретно в Android SWAP является именно файлом и выполняет только второй сценарий — хранит в себе данные из оперативной памяти и отдаёт их, когда они внезапно оказываются нужны. Первый сценарий, очевидно, не используется по причине того, что в Android не существует режима гибернации (то есть глубокого сна при котором устройство выключается) как такового.

Помимо ядра Linux также стоит помнить и то, что Android в большинстве своём работает на устройствах, которые используют флеш-накопители памяти. А они, в свою очередь, обладают ограниченным ресурсом записи, чем накопители на жёстких магнитных дисках. По этой причине SWAP практически никогда не используется Android-устройствами по умолчанию, так как, из-за постоянных циклов перезаписи, накопители этих устройств могут выйти из строя намного быстрее, чем задумывалось. Конечно, это не значит, что смартфон не сможет выдержать и полгода при использовании SWAP, более того — большинство старичков, на которых использовался SWAP, живы до сих пор и отлично работают. Однако, производители решили перестраховаться и использовать zRam.

Альтернатива SWAP как файлу подкачки — zRam

zRam — специальный модуль ядра Linux, который, если говорить как можно проще, прямо в оперативной памяти сжимает неиспользуемые данные, когда они не нужны, и, соответственно, «разжимает», когда их нужно использовать вновь. Такой подход позволяет не расходовать ресурс флеш-накопителя на хранение там неиспользуемых данных и экономить оперативную память. В частности, именно с помощью zRam в Android реализована работа приложений в фоне. Если сжатие данных для какой-либо программы достигает пика (то есть ей долго никто не пользуется), то программа закрывается и ресурсы освобождаются.

Виртуальные гигабайты оперативной памяти для Android. Что такое файл подкачки
UFS 3.0 — тип флеш-накопителя, LPDDR4x — тип оперативной памяти

Такое решение также работает более эффективно из-за того, что все операции с данными происходят непосредственно в ОЗУ. А, как известно, практически всегда ОЗУ работает намного быстрее даже встроенных флеш-накопителей, не говоря о SD-картах.

В каких случаях SWAP может быть полезен

Очевидно, больше всего SWAP будет полезен при использовании на устройствах с малым объёмом оперативной памяти — в современных реалиях таковой составляет 2-3 ГБ. В таком случае стоит создать SWAP размером от половины до полного одного объёма оперативной памяти смартфона.

Чем больше объём ОЗУ Android-устройства — тем меньше смысла использовать SWAP. На ПК при больших объёмах оперативной памяти SWAP обычно используется для режима гибернации, в смартфонах же его можно использовать в случае, если вы часто пользуетесь ресурсоёмкими приложениями и хотите, чтобы они как можно дольше оставались доступными из свёрнутого режима. Скорее всего, для такой задачи хватит половины от одного объёма ОЗУ вашего смартфона.

Если вы продвинутый пользователь и вам будет не лень экспериментировать, можно побаловаться со значением «vm.swappiness», который регулирует алгоритм использования SWAP (значение по умолчанию — 60). Он задаёт процент свободной оперативной памяти, при котором начинается использование файла подкачки. Чем больше значение — тем больше данных будет брать на себя SWAP, и, соответственно, тем дольше приложения будут оставаться в фоне, но слишком большие значения не самым приятным образом скажутся на отзывчивости системы и её быстродействии. Чтобы определить нужное значение, нужно поэкспериментировать, опираясь на свои приоритеты.

Как создать файл подкачки на Android

С годами в смартфонах становилось всё больше и больше оперативной памяти, что свело на нет нужду большей части пользователей использовать SWAP. Я уже рассказал о том, как файл подкачки может пригодиться в наше время — значит, нужно узнать, как его создать и использовать. Для этого есть специальные программы. Чтобы файл подкачки действительно работал, а не просто создался и лежал в памяти смартфона без дела, этим программам нужен ROOT-доступ. Сейчас в Google Play мне удалось найти только две программы, внушающие доверия:

  • Swapper — простое приложение, позволяющее в два клика создать файл подкачки и отрегулировать его приоритет использования (то самое значение «vm.swappiness»).
  • RAM Manager — более продвинутый вариант, позволяющий не только создать SWAP и регулировать его приоритет использования, но также настроить прочие параметры (например, настроить dirty ratio или включить режим OOM kill allocating task). Рекомендую прикасаться к этим настройкам, только если вы опытный пользователь и точно знаете что делаете.

Ранее существовало множество подобных приложений — я уверен, многим знакомо название «SWAPit! RAM EXPANDER», так как это одно из самых популярных приложений того времени. К сожалению, ровно как и большинство остальных таких программ, Ram Expander перестал получать обновления и сейчас, скорее всего, не работает на последних версиях Android.

В некоторых оболочках уже существуют встроенные решения по созданию файла подкачки

Виртуальные гигабайты оперативной памяти для Android. Что такое файл подкачки

С недавних пор начали появляться новости о том, что производители начинают встраивать в свои оболочки функцию увеличения объёма оперативной памяти. Например, так поступила vivo, которая вместе с выпуском смартфонов X60 серии представила это нововведение для своей оболочки FuntouchOS 11. Помимо этого, такую функцию уже получила OriginOS и скорее всего получит MIUI 13.


Последнее изменение:
 
380687288787
380687288787, 31 июля 2021, 14:14   #   (...)
Маркетологи придумали способ, как впарить новый телефон…
Ответить
380687288787
380687288787, 31 июля 2021, 14:15   #   (...)
Ведь обычные юзвери увидят, что в телефоне АЖ 11 ГБ ОЗУ! И плюс консультант будет, говорить, что в телефоне реально такой объём оперативной памяти.
Ответить

Добавить комментарий
Если нужно ответить кому-то конкретно,
лучше нажать на «Ответить» под его комментарием