Hi
I searched for a help on getting my background tasks stuck (Lumia 735) after a couple of days (was 7 days before I moved from Non-insider to Slow Ring, now it's 2-3 days). Stuck background tasks means any app that did something on the background (e.g. read data from Sensorcore and display a tile or Chronos updating the calendar tile) stopped updating and wouldn't restart until I rebooted the phone.
Now I found this thread (thanks to the poster before me who mentions background tasks - thanks for that info, might be useful) and I installed Interop tools and set the page file to 1GB. First test show improvement in app switching and Edge doesn't reload heavy webpages anymore. I also tried rebooting the phone and it survived. I am hoping it could also solve the background tasks issue.
Now some people here tried to give explanation to what this does. Some of you got it quite close but not quite right either. So let me give an educated response (yes, I did study operating systems basics in university).
Let me start by saying that paging file is indeed related to RAM - it is in a sense an extension of RAM located in a file on a disk (in this case phone flash memory or whatever type that is). But it does not work as a direct extension of RAM, instead it works as rather a shelf where you temporarily store unused chunks of data from RAM. The whole virtual memory (that is RAM+pagefile) is divided into so called pages, chunks of certain size. In a very simplified example let's say a program wants to use 3/4 of the size of RAM. It gets it allocated fine. Now another program runs and wants to get 1/2 of the size of RAM. Now OS has to free up some RAM for the new program to fit in so it decides which existing pages it should free from the RAM (using some sort of decision process like oldest or least used) and then copies those pages from RAM to pagefile. It then allocates the freed up pages to the new program.
Now what happens when the old program wants to access the pages that are not in RAM anymore? This condition is called page fault and it means the whole page swapping process will be performed by OS again - deciding which pages to put into pagefile, copy them and replace with pages stored in pagefile.
Bear in mind this is heavily simplified but it's enough to understand the basics. So now some questions can be answered:
1. What will increasing pagefile actually improve? - It will improve task switching as mentioned. More apps can have their data swapped to pagefile instead of having it completely thrown away when being terminated from suspended state.
2. What will it NOT improve? - It will
not improve app launches from closed app. If the phone was rebooted and an app is launched the pagefile size will
not make any difference whatsoever. Same with app that was force closed (either it crashed or user closed it). The reason is there is nothing left of the app in RAM and by extension in pagefile so the whole app needs to be reloaded.
3. Will it make app switching blazing fast on low memory phones? - No, it will make it somewhat faster but not instant. Remember that pagefile is still located in slower flash memory and any page faults still need to be retrieved from there. It still takes some time to perform page swapping.
4. Does it make difference on devices with 2GB - 3GB - 4GB of RAM? - Yes, it does, the same applies as with any other device. But it will be much less noticeable because device with more RAM can hold more data in it and thus there will be much less page swapping needed.
5. Does this eat my device internal memory? - I think I provided enough information on how pagefile works so you can work the answer out by yourselves
Disclaimer: as mentioned already it is not an exhaustive and 100% accurate description of what exactly is going on in W10M memory manager. I am not a W10M developer and I don't know the exact workings of the OS. But the basic principles are still valid and the explanation should provide rough guide as to what to expect and what to not expect from this tweak.
If you have any more questions I can answer shoot 'em. In the mean time I will be testing the background task issue to see if it can be resolved with this setting.