Any reason not to disable Windows kernel paging?
Any reason not to do it or any general thoughts about it?
If you do this you have to live with the fact that you have moved the a large portion of the Kernel to RAM. At first this this is good. You avoid Paging of the Kernel and the system may experience an increase in performance on those kernel related tasks.
But what if your applications use a lot of RAM? 2GB is no longer a large amount of RAM by any standards these days. Even if the executable is small, it may allocate large amounts of RAM during execution that extend well beyond its physical size on disk (practically all software does this). So, with less RAM available because the Kernel is taking some of it away, you will be experiencing this time paging of your applications. That is, you have a more responsive system to kernel related tasks and a less responsive system to daily application usage.
Since your computer usage pattern, I predict, is based mostly around application usage, you may instead feel a decrease in general performance.
At 2GB of RAM I don't advise you to do this. Kernel size varies. But Windows XP Kernel is around 200Mb in size and Windows Vista is a little over 300(?). Windows 7 may boast an even larger Kernel. This I say from memory only, from what I seem to remember being their memory dumps. You will be taking away a considerable large chunk of memory. memory that will force many of your memory hungry applications to page. And... if you want paging to happen, don't let it happen with memory hungry applications.
It should be noted that this setting effects only a small portion of the kernel. Windows will only page this out if the memory is needed for other purposes. A portion of the kernel can never be paged under any circumstances while others will remain pageable. If you have a reasonable amount of RAM (512MB or more) this setting is unlikely to do anything. Also, what Task Manager shows as “Paged” is really means pageable. How much is actually paged out at any given time is impossible to tell. Windows simply does not make this information available outside the system.
I think the decision to do this should be based on how much system memory you have and also what applications you typically run. As I type this my 8Gb Windows 7 (64-bit) system has the following stats:
Total 8125Mb Cached 2618Mb Available 6485Mb Free 4200Mb
(If those numbers don't quite add up it's because they are changing while I type).
Kernel Memory Paged 278Mb Nonpaged 59Mb
It seems to me very much that I could only stand to BENEFIT from using that whopping 4200Mb of RAM doing absolutely nothing (not even in use in a cache) by caching just 278Mb of kernel.
In practice I'll have to see how it turns out as I haven't tried it. I'm guessing the parts of the kernel that are paged are probably not used all that frequently (hence the reason they are paged) and the chances of running a big app that wants to use the memory may be higher than the chances I'll do something that needs to access those areas of the kernel. It would be interesting to hear some experiences from users with 8Gb or more RAM on the effect of disabling the paging of Kernel memory.