At the risk of making my blog look like an iPhone special, here I am blogging after ages, once again about the iPhone :).
In my last post, I shared a way to increase the performance of your iPhone by removing some unnecessary stuff from it. This time the tweak involves adding a package to increase the memory and improve the performance of the applications a little better.
This application does nothing but creates a swap file on your iPhone. Most linux users must be aware of the Swap file concept, which is nothing but a special area on your storage disk allocated to be used as Random Access Memory, in case the applications need it. This swap file resides on the permanent storage and frequent reading and writing to it can sometimes prove to be very expensive in terms of performance . Hence, this concept usually works well with the applications that run in the background as they don’t need to actively use the RAM.
So how good can this be for a device like iPhone which doesn’t believe in having the background applications ? This app (like most other hacks) can be installed only on a JailBroken device and it can be very useful with the backgrounder app. Those who don’t use the backgrounder would still get the benefit as some of the important apps like, mail app and iPod tend to stay sitting idle consuming memory in the background even if you don’t use them. With this swap file installed, there is a noticeable improvement in the available RAM for all these scenarios.
To install the app, you need to download the .deb file and install it from the mobile terminal. This doesn’t have any icon or a toggle switch (as of now). However, if you have SBSettings installed, you can notice the difference with the available RAM shown by it. Most users see a substantial improvement in the numbers. This, of course, wouldn’t make so much difference to those who have a 3GS, as they already have more than sufficient RAM on their devices, but nevertheless they would also notice the increase in the available RAM count. The swap file is of 256 Mb, but the developer suggests that it would automatically add 256 more if its all consumed up at any point.
You can download the file from the link here : Virtual RAM/Swap file for iPhone.
For further discussions and reading, you can checkout the source link to xSellize forum.
Update 1: A few other developers have toyed around with this concept, and have come up with an even better way to use the swap space..
The second method seems to be a documented feature for the iPhone OS, which is not active by default. There is a plist file “com.apple.dynamic_pager.plist” which is supposed to be put in /System/Library/LaunchDaemons to get this working. Using this plist would use a built-in program to create a virtual memory swap file to be used. I’m not sure if this was something which Apple has kept hidden on purpose or it got introduced as a result of JailBreak, but the ‘dynamic_pager’ program is already on the iPhone located in /sbin.
This approach creates a dynamic virtual memory swap file ‘on demand’ without any size limit. And this seems to be less buggy than the previous version.
To use this method, download the plist file from here , put it to /System/Library/LaunchDeamons and reboot. Don’t forget to uninstall the previous VM package before using this one.
Update 2: I’ve tried using both the versions, and I like the native plist version much better. With the first Chinese VM app, it used to allow having a lot of free memory, but the phone got laggy while trying to push stuff on the swap space. It sometimes even got stuck at one screen for minutes together before getting the app to work. So it was nice to have free memory, but it didnt please me as the overall system impact was laggy.
With the native plist method, its been a smooth ride so far, no lags whatsoever. I’ve got mail app, ipod, safari running in the background and still have almost 43 MB memory, free to be used. I tried playing GangStar with it, and it was smooth, and didn’t crash even once.
Keep watching this space for more updates :)
Do let me know, if you tried using it and noticed any improvement with the performance.
iPhone 3.0 was said to be faster than any of its predecessors and it surely did seem faster after the first install. However, with the time, it came back to its sluggish self. I’m sure most of you must have felt the same and wished that there was some way to improve the performance. Well, there is a way to do it now, if you have a jailbroken phone and are ready to take some calculated risks.

One of the users um35h on xSellize forum has performed a little experiment to identify unnecessary demons and delete them to free up some memory space and improve the performance of the device. He has been updating the list of safe to remove demons, which when deleted create a little or no impact on how the Phone and its apps behave in terms of functionality, but improve the over all performance. A lot of other users have also tried it on their own devices and have got varied results . Some people could get up to 10-15 MB of additional free memory, while the others were still at the same level.
Another interesting tip was to delete the unused language files from the apps. There are as many as 30 ‘.lproj’ files for different languages in each of the default iPhone apps. Normally, a user would use only one language out of the bunch, hence, the others ones can be removed without an issue. Deleting the other language files would make the app parse less number of files at the start-up, making it load faster.
To carry out these hacks, one has to get an access to iPhone file system, which is pretty easy to do on a JailBroken device. There are apps such as iFile which can give you an access right from within the device, or one can SSH using a computer to gain access and delete the stuff. There are detailed instruction on how to carry out these hacks (and how to be safe, in case anything goes wrong) on the forum here.
I haven’t tried any of these yet, but if any of you daring souls, carry out this experiment, please update us here too.
Image courtesy: interestingkid


