Статья, посвященная файлу подкачки в современных смартфонах.
Нехватка оперативной памяти была и остается одной из ведущих проблем у пользователей смартфонов. В настоящее время ее дефицит ощущается менее остро с приходом на рынок телефонов с огромными объемами ОЗУ — есть модели с 8 и даже 12 ГБ оперативной памяти. Но что происходит внутри системы, если оперативная память заполнена?
Что такое SWAP?
Начнем с общеизвестного факта — операционная система Android основана на ядре Linux. В этой системе реализован файл/раздел подкачки с собирательным термином SWAP. Он расположен на жестком диске и, если система ощущает нехватку оперативной памяти, часть данных с ОЗУ выгружается в указанный раздел. Это происходит с компонентами программы, которая не задействована в данный момент. Переключившись к ней вновь, система проверяет наличие процесса в SWAP и загружает его обратно в оперативную память.
При этом состояние программы остается неизменным. К примеру, если вы свернули игру на моменте перестрелки, заняв систему другим процессом, по возвращении из «свопа» та не перезагрузится и не вылетит в меню — геймплей будет продолжен с той самой перестрелки. Казалось бы, идеальное решение для смартфонов с любым количеством ОЗУ, но не всё так просто.
В смартфонах используются накопители с ограниченным количеством циклов чтения и записи. Поскольку SWAP требует записывать данные выгруженных приложений очень часто, то и внутренняя память исчерпает свой лимит раньше положенного срока. Именно по этой причине «свопинг» не рекомендуют использовать на SSD-дисках.
Всё это приводит к тому факту, что SWAP в устройствах под управлением Android отсутствует. В интернете есть масса статей относительно создания файла подкачки на смартфоне вручную. Но насколько эти действия оправданы, если знать теорию? Разработчики iOS также опровергли слухи относительно использования «свопа» в их операционной системе.
Что если не SWAP?
В последних версиях Android можно наблюдать работу модуля zRam. Он увеличивает производительность за счёт сжатия фоновых приложений внутри оперативной памяти. Если сжатие достигает своего пика, то программа автоматически закрывается, освобождая ресурсы для более важных операций.
Особенность этого метода заключается в том, что все действия происходят внутри ОЗУ. Как известно, скорость обмена информацией с оперативной памятью значительно выше, чем с внутренними накопителями любых видов.
Итоги
Файл подкачки остается прерогативой персональных компьютеров, поскольку его использование на смартфонах приведет к ускоренному износу флеш-памяти. Вместо привычного «своппинга» через файл подкачки производители мобильных телефонов используют модуль zRam, сжимающий файлы внутри оперативной памяти.
Спасибо за информацию ! Выходит, — можно работать без большого размера оперативной памяти, иначе смартфон будет «тормозить» ? Каков объём «оптимальной» оперативной памяти ? Часто читаю уведомление : «закрыто … приложений, освобождено ….Мб оперативной памяти» Это работа модуля zRAM ? Спасибо !