[VIRTUAL MEMORY FOR iOS7]
iOS Virtual Memory
Virtual memory trick with "Dynamic_Pager" is known since iOS 3 introduced for all iDevices.
It tricks system to believe and suspend it's "Random Memory" on PageFile of a defined size from 256 to 512 MBs could even be more. The truth behind this trick is that it doesn't always do use it's suspended memory from the NAND (/var/vm) which could cause system instability mostly because of the Mobile Substrate Extentions similar to repeated reboot can brick your device on a long run.
However, it could be useful if you don't like to free up your memory every time it gets low. Saying that I mean whenever you stop using a process it gets suspended and saved by the PageFile freeing a quite enough memory you could have earned by freeing up RAM by yourself.
What is Dynamic Library?
You can think of a program that can backup your messages and contacts with itunes. It does the same it caches your suspended memory and system memory on a Page File calling it Virtual RAM or Virtual Memory. It doesn't gives ability to turn your iDevice Flash Memory (NAND) to Random Access Memory (RAM) but similar.
What issues are involved?
i. Using a PageFile could cause problem if your device start to fragment the swapped processes mostly when system starts this process i.e. dynamic_pager. (BOOT)
ii. System Processes are vital process necessary for your system and putting them into Paged is quite creepy and could cause night mare. (BOOT)
iii. It is a background process and uses a quite an amount of battery. (BATTERY)
iv. RAM has a faster read and write cycle which has a frequency count in MHz which is very high compared to Flash Memoy and can take a while processing back a suspended. (SYSTEM PROCESSES)
Is there a Play Safe Option?
Yes always. If you want to try to know how it works for you or how it can be helpful. You can do this simply following some precautions that'd save you from a bootloop and bricking your device.
How to install it?
Get a iFile, Status Modifier and Cleaner (it cleans RAM) from Cydia.
Add this REPO: http://cydia.myrepospace.com/ADR/ and install VM3
VM3 works on all iOS beside it will end up with an error code while configuring installation on Cydia and won’t show up if it’s installed.
Fact is that the 3 files will be installed
I. “dynamic_pager” in /sbin (STOCK)
II. “com.apple.dynamic_pager.plist” inside /System/Library/LaunchDeamons
III. “com.apple.virtualmemory.plist” in /var/preferences
After Reboot a file swapfile0 will be created in /var/vm (vm represents virtual memory)
PRECAUSION
Don’t frequently reboot your device after installing it.
After every boot change the file using iFile/System/Library/LaunchDeamons/com.apple.dynamic_pager.plist using:
i) Property List Viewer: TURN “OFF” RunAtLoad to prevent loading it on BOOT UP and back “ON” to use it again.
ii) Text File:
Change this value
<key>RunAtLoad</key>
<true/> to <false/> to switch between OFF and ON
Idea behind this is to save the Virtual Memory from fragmenting the suspended processes.
IF /System/Library/LaunchDeamons/com.apple.dynamic_pager.plist TURNED ON RIGHT NOW THEN TURN IT OFF SO IF YOU BOOT AGAIN YOU CAN DELETE /var/vm/swapfileX AND TURN IT BACK ON AND REBOOT TO USE VIRTUAL MEMORY (PAGE FILE AGAIN)
How do I know if it worked for me or not?
Better option is installing Status Modifier before so you can see your free random memory on status bar and a Cleaner app that can show you approximate System Mem and you can also clean RAM efficiently better than SBSetting.
TESTED ON iPhone 5c (it has enough memory so it doesn't count)
ALTERNATIVE
I am lazy and I can’t follow these for booting my iDevice every time. I need other safe way to use get free RAM!
You can use Background Manager and in setting you can stop background suspension
GO TO Settings/ Background Manager/ Global/
Turn None on Primary (Background) Mode and Native on Secondary.
So you can switch whenever you want any app in background.
So you can switch whenever you want any app in background.
Cleaner or MemBooster can free your RAM temporarily.
Don’t use heavy Winterboard themes, Springboard extension tweaks and all useless mod to improve UI it takes a lot of memory.
COMMENT IF I HAVE MISSED ANYTHING OR WANT TO KNOW MORE ABOUT IT.
iMessage and Tweet me always for help.
HAVE FUN PLAYING
My iPhone 5s went into BSOD loop and I lost my jailbreak because of you. NO THANKS!!!
ReplyDeleteI am sorry to hear that. It wasn't made to trouble anyone but I might need to point out the reason that made that happen right? Like I have mentioned I have tested it on 5c but it didn't do anything. I wanted to say it has enough memory to stock it's page files at RAM itself. And doing that I have turned off the "RunatLoad" and "keepalive" and turned on "on demand" function. Simply turning off run at load function could have saved your jailbreak like I have mentioned above how. Also if anyone reading this and want to try it on devices having >512MB of RAM try with ParrotVM by http://parrotgeek.net/repo/ but wait did I mention it won't work with Pangu jailbreaks (don't know how to spell it) so stay away unless you have a evasi0n jailbreak on your device.
Delete(For Pangu people even on 4/4s) If you have still missed some steps and/or tried with your device and it is on boot loop you can still fix it using JB safety feature "SAFE mode" and you just need to turn of everything even "on demand" feature.
Says the fuckwit who thought he needed VM on Apple's flagship iPhone?!
ReplyDeleteDo you even know what virtual memory is or what it would hypothetically improve?!
Beggars belief...
FYI...this doesn't work on any 64-bit devices, or on iOS 7.1 and later.
ReplyDeleteThat is correct. It is jailbreak issue. You can try with evasi0n.
DeleteTo uninstall do you just delete those four files?
ReplyDeleteOr you can just turn off every thing on .plist file
DeleteMr.Cassette, did you try booting into safe mode >_>
ReplyDeleteNone of this has worked since I was six. It has nothing to do with the 64-bit processor. Starting with iOS 6.0 using virtual memory put any I device into a blue screen crash loop. The problem with it is the actual process the dynamic pager process has not been updatedsince 2010. So unless Apple or some other person in the open-source community changes it will have this problem. I can tell you right now the author of this page did not get this working in iOS 7 on any device
ReplyDeleteSince before iOS 6. Not I was six ;)
ReplyDeleteClassic fuckwit blog post
ReplyDelete