Swap что это android как

SWAP в смартфонах: правда или вымысел?

Статья, посвященная файлу подкачки в современных смартфонах.

Нехватка оперативной памяти была и остается одной из ведущих проблем у пользователей смартфонов. В настоящее время ее дефицит ощущается менее остро с приходом на рынок телефонов с огромными объемами ОЗУ — есть модели с 8 и даже 12 ГБ оперативной памяти. Но что происходит внутри системы, если оперативная память заполнена?

Что такое SWAP?

Начнем с общеизвестного факта — операционная система Android основана на ядре Linux. В этой системе реализован файл/раздел подкачки с собирательным термином SWAP. Он расположен на жестком диске и, если система ощущает нехватку оперативной памяти, часть данных с ОЗУ выгружается в указанный раздел. Это происходит с компонентами программы, которая не задействована в данный момент. Переключившись к ней вновь, система проверяет наличие процесса в SWAP и загружает его обратно в оперативную память.

При этом состояние программы остается неизменным. К примеру, если вы свернули игру на моменте перестрелки, заняв систему другим процессом, по возвращении из «свопа» та не перезагрузится и не вылетит в меню — геймплей будет продолжен с той самой перестрелки. Казалось бы, идеальное решение для смартфонов с любым количеством ОЗУ, но не всё так просто.

В смартфонах используются накопители с ограниченным количеством циклов чтения и записи. Поскольку SWAP требует записывать данные выгруженных приложений очень часто, то и внутренняя память исчерпает свой лимит раньше положенного срока. Именно по этой причине «свопинг» не рекомендуют использовать на SSD-дисках.

Всё это приводит к тому факту, что SWAP в устройствах под управлением Android отсутствует. В интернете есть масса статей относительно создания файла подкачки на смартфоне вручную. Но насколько эти действия оправданы, если знать теорию? Разработчики iOS также опровергли слухи относительно использования «свопа» в их операционной системе.

Что если не SWAP?

В последних версиях Android можно наблюдать работу модуля zRam. Он увеличивает производительность за счёт сжатия фоновых приложений внутри оперативной памяти. Если сжатие достигает своего пика, то программа автоматически закрывается, освобождая ресурсы для более важных операций.

Особенность этого метода заключается в том, что все действия происходят внутри ОЗУ. Как известно, скорость обмена информацией с оперативной памятью значительно выше, чем с внутренними накопителями любых видов.

Итоги

Файл подкачки остается прерогативой персональных компьютеров, поскольку его использование на смартфонах приведет к ускоренному износу флеш-памяти. Вместо привычного «своппинга» через файл подкачки производители мобильных телефонов используют модуль zRam, сжимающий файлы внутри оперативной памяти.

Спасибо за информацию ! Выходит, — можно работать без большого размера оперативной памяти, иначе смартфон будет «тормозить» ? Каков объём «оптимальной» оперативной памяти ? Часто читаю уведомление : «закрыто … приложений, освобождено ….Мб оперативной памяти» Это работа модуля zRAM ? Спасибо !

Читайте также:  Как сбросить настройки андроида до заводских для сони

Источник

DarkNess

Личный блог DarkNess. Только технические темы.

суббота, июля 06, 2013

Включаем SWAP в Android

Делать это только если Вам ДЕЙСТВИТЕЛЬНО не хватает памяти, после всех препринятых мер !
Так как «побочными эффектами» будет еще большее замедление начальной загрузки, и периодическое легкое «тупление» (особенно если карточка у Вас не самая скоростная).
Плюс иногда при включении, телефон «показав экран» будет надолго задумываться и сам идти в перезагруз повторно (обычно это происходит после изменения системных параметров типа редкатирования build.prop, изменения параметров в sysctl итд), после чего правда всетаки включится — предупреждаю, чтобы столкнувшись с этим Вы тут же не получили «перепуг первой степени» 🙂 Изредка, такое при включении может происходить и дважды. Может быть при быстрой карточке. этого эффекта не будет. Не знаю — пока не проверял 🙂
И не ждите чудес 🙂
А теперь по сути.

Подключаем аппарат к порту USB стандартным кабелем.
Проверяем что мы имеем рута: adb dhell id.
uid=0(root) gid=0(root)
Означает что имеем. Если Вы уже установили ядрно ThunderZap (для IQ450, или похожее для Вашего аппарата), то так и будет.
А если не установили, то то что ниже, Вас не касается, потому как «стоковые» ядра swap обычно не поддерживают.
Такеж перед тем как это делать, Вам необходимо переразбить карточку памяти.

Подготовка карточки памяти.

Не забудьте перед этим сделать полный бэкап карточки памяти, чтобы потом все восстановить. Лучше всего сунуть ее в читалку, и скачать через нее ВСЕ содержимое карточки в отдельный каталог на компьютере.
1) Устанавливаем CWM recovery. Так как описано в http://vyacheslav.blogspot.com/2013/06/cwm-recowery-android-404-fly-iq-450.html
Если он уже установлен, пункт 1 пропускаем.
2) Выключаем телефон, грузимся в CWM recovery (При включении зажимаем одновременно питание, а также громеость вверх и громкость вниз). После появления меню — жмеме «громкость вверх»).
3) Выбираем пункт «Advanced» (громкость вниз несколько раз, потом кратковременно кнопку включения питания).
4) Выбираем «Partition SDcard»
5) Выбираем размер Ext Size — некоторые прошивки могут использовать его при нехватке внутренней памяти. Я выбрал 256 м на вс случай — мне внутрненней памяти и так собственно хватает.
6) Выбираем Swap size. Я выбрал максимум — 256М, но в принципе хватит и 128 обычно. Чем свап больше, тем больше Android сможет освободить памяти (ОЗУ) за счет SWAP, но и тем больше могут добавиться тормоза (SWAP много медленее ОЗУ), и износ карточки из зв большего количества записей в SWAP, который у нас на флеш карте, а все флэш карточки имеют ограниченное количество циклов записи. Плюс жеательно чтобы карточка была как можно шустрее — обычно у «скоростных» карточек используется технология, которая позволяет выдерживать большее количество циклов записи, да и в общем телефон будет много шустрее, если карточка для SWAP имеет высокую скорость.

Читайте также:  Android layer list shape

Все, карточка готова.

Выключаем телефон. Вытяниваем карточку. Прямо выключить не получится. Кнопка питания может толькозапустить ребут. Запускаете, и как только окончится загрузка и появится экран телефона, не разлочивая, сразу же долго жмем на кнопку выключения питания, и выключаем.

Вытягиваем карточку, ставим в «читалку».
Вытираем все что там есть, Копируем назад, ранее скопированные с карточки данные.

Подключение SWAP

adb shell
root@android:/ # ls /dev/block/mmcbl*
/dev/block/mmcblk0
/dev/block/mmcblk0boot0
/dev/block/mmcblk0boot1
/dev/block/mmcblk0p1
/dev/block/mmcblk0p2
/dev/block/mmcblk0p3
/dev/block/mmcblk0p4
/dev/block/mmcblk0p5
/dev/block/mmcblk0p6
/dev/block/mmcblk1
/dev/block/mmcblk1p1
/dev/block/mmcblk1p2
/dev/block/mmcblk1p3

SD карта с тремя партициями. Перепроверяме, чтоодна из них — swap
root@android:/ # fdisk -l /dev/block/mmcblk1
fdisk -l /dev/block/mmcblk1

Disk /dev/block/mmcblk1: 15.4 GB, 15472787456 bytes
255 heads, 63 sectors/track, 1881 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/block/mmcblk1p1 1 1819 14611086 c Win95 FAT32 (LBA)
/dev/block/mmcblk1p2 1820 1850 249007+ 83 Linux
/dev/block/mmcblk1p3 1851 1882 250019 82 Linux swap
root@android:/ #
Видим Linux swap — это наша.
Вот она: /dev/block/mmcblk1p3

Инициализируем swap партицию
mkswap /dev/block/mmcblk1p3

Выходим (exit)
Перемонтируем для возможности записи:
adb remount

Снова заходим в шелл
adb shell

Создаем каталог для хапуска init скриптов:
cd /system
cd etc
mkdir init.d

Формируем fstab
echo «/dev/block/mmcblk1p3 swap swap» >> /system/etc/fstab

Ставим правильные разрешения на выполнение:
chmod 0711 /system/etc/init.d/05userinit
chmod 0711 /system/etc/fstab
exit

Отсоединить перезагрузить
После загрузки, запускаем System Tuner, и идем в раздел «SysCtl».
В самом конце, ищем параметр «vm.swappiness» и ставим его на 100%.

Чем выше это значение, тем больше система «склонна» выгружать все из ОЗУ как можно быстрее в SWAP. При 100 она это делает так активно, что там могут оказаться даже части приложений, с которыми сча работаете, отсюда «тупление». Ну и понятно, когда она чересчур «активничает» с этим. операций записи в СВАП (на карточку) становитчся больше, а любая флешка выдерживает тольк ограниченное их количество. Поэтому решайте сами 100% или поменьше. Стандартное 60%.
Важно. У меня включения swap, вызвало резкое «тупление» и «дергание интерфейса», и это не смотря на повышенную частоту проца в этом ядре (до 1.4ггц вместо 1 ггц стандартного). «Вылечилось» тупление установкой параметра vm.vfs_cache_pressure в 20% вместо «дефлотных» 10%.

PS Если используете SWAP, после перезагрузки (после включения) рекомендую подождать, пока в левом верхнем углу исчезнет значек «карточки с шестеренкой» и только потом разблокировать экран.

PPS На счет количества «свободной памяти», Вы можете «поиграться» еще настройками ‘твиков» памяти в System Tuner. Заходите в раздел «Tweak» (там две линейки памяти нарисованы). Выираете «Presets». И там есть предустановки от «Very light» до «Very Agressive». Чем «легче», тем меньше система склонна «выкидывать» из памяти ранее использованные приложения, и соответственно ее освобождать. Это удобно, когда Вы используете «многозадачность» — переключаясь из одного открытого приложения в другое. А когда «очень агрессивно» — система старается быстрее выкинуть «все что сейчас не используется» — это предпочтительно для тех кто играет в игрушки, особенно в «тяжелые».

Читайте также:  Сделать экспорт контактов андроид

Источник

Swap что это android как

Краткое описание:
Создать файл подкачки без ROOT.

Описание:
Создать файл подкачки без ROOT.

С помощью этого приложения вы сможете создать файл SWAP на вашем устройстве.

Требуется Android: 5.0 и выше
Русский интерфейс: Да

Скачать:
Версия: 3.1.13
SWAP — No ROOT v3.1.13.apk ( 4.24 МБ )
SWAP — No ROOT v3.1.13 Rus by DenSE.apk ( 4.26 МБ )

SWAP No ROOT v3.1.11.apk ( 4.28 МБ )
SWAP No ROOT v3.1.11 Rus by DenSE No Ads.apk ( 4.39 МБ )
SWAP No ROOT v3.1.10.apk ( 4.28 МБ )
SWAP No ROOT v3.1.10 Rus by DenSE No Ads.apk ( 4.39 МБ )
SWAP No ROOT v3.1.6.apk ( 3.71 МБ )

SWAP No ROOT v3.1.6 Rus by DenSE No Ads.apk ( 3.84 МБ )
SWAP No ROOT v3.1.5.apk ( 4.45 МБ )

SWAP No ROOT v3.1.5 Rus by DenSE No Ads.apk ( 4.56 МБ )
SWAP No ROOT v3.1.4.apk ( 4.45 МБ )

SWAP No ROOT v3.1.4 Rus by DenSE No Ads.apk ( 4.56 МБ )
SWAP — No ROOT v3.1.3.apk ( 3.46 МБ )

SWAP — No ROOT v3.1.3 Rus by DenSE No Ads.apk ( 3.6 МБ )
SWAP No ROOT v3.1.2.apk ( 3.56 МБ )

SWAP No ROOT 3.1.1 Rus by DenSE No Ads.apk ( 3.67 МБ )
SWAP No ROOT 3.1.1.apk ( 3.55 МБ )
SWAP No ROOT v3.0.1.apk ( 4.24 МБ )

SWAP No ROOT v3.0.1 Rus by DenSE No Ads.apk ( 4.35 МБ )
SWAP No ROOT v2.6.0.apk ( 4.48 МБ )

SWAP — No Root v2.5.0.apk ( 3.7 МБ )
Swap No Root v2.1.2 Premium Rus by DenSE.apk ( 4.05 МБ )

Сообщение отредактировал Den SE — Вчера, 09:48

Сообщение отредактировал speed888 — 15.11.21, 22:19

Сообщение отредактировал anmich — 22.11.21, 18:10

BigBobson, значит метода без рут не существует. Ибо свап должен быть корневым, а он здесь идёт через sdcard/android/data/.
Если бы это так работало. Так что,смысла в ней ноль. Приложение не может сама загрузить процессы из озу в этот файл.

Сообщение отредактировал Buvaysar95 — 23.11.21, 00:55

у меня на sd, в папке /storage/A89C-B411/Android/data/com.allakore.swapnoroot/files/ создается swap.swp
тут еще ,видимо зависит, от того как карта примонтирована. Как переносной диск или как диск телефона ( спрашивает при установки флешки)

Сообщение отредактировал anmich — 25.11.21, 17:50

Она у меня не в качестве съёмного носителя активирована.

Источник

Оцените статью