Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

So I'm planning on eventually going to 2 GB (mobo max) RAM from 1 GB, and I want to disable kernel paging once I do, because I've heard it can give a performance boost (and that I believe). Any reason not to do it or any general thoughts about it?

Edit: for clarification, this is not disabling general RAM paging. This is disabling having kernel memory paged (or at least parts of it, as Charlls noted).

share|improve this question
    
It would be nice if you were more specific about what setting you're planning to change. –  bk1e Sep 15 '09 at 7:20
add comment

7 Answers

up vote 4 down vote accepted

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.

share|improve this answer
    
Also a great insight, thanks. I'm running XP Home, and I have a single core proc, so maybe I should just leave things were they are - Firefox is enough of a whale already –  Nathaniel Sep 15 '09 at 4:13
5  
A typical kernel memory dump contains far less than 200 MB of code. Most of it is data: pool allocations, thread stacks, page tables, etc. support.microsoft.com/kb/Q184419 only discusses disabling paging of kernel code, not kernel data. And not all drivers contain a lot of paged code anyway. The amount of RAM that this wastes should be significantly smaller than 200 MB. –  bk1e Sep 15 '09 at 7:19
    
When working with Windows XP on my laptop, and obviously having cleaned up almost all startup applications and unnecessary stuff, after boot I had 14 processes running and 70 MiB total of virtual memory in use. First thing I'd run then was Putty's Pageant :) –  tzot Jan 5 '10 at 1:04
    
Do you have any references for this 200MB for XP and 300MB for Vista? Doesn't sound right to me either. –  Scott Bilas Feb 10 '10 at 8:57
add comment

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.

share|improve this answer
    
Ah, good insight, thanks. Some tweaks really do need debunking so it's nice when people come along with real info and show what's really going on. –  Nathaniel Sep 15 '09 at 3:59
add comment

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.

share|improve this answer
add comment

but the thing is, disabling kernal paging might have a big impact on performance if your on a 3-4GB RAM system...me my self i do notice a big improvement when running Adobe applications :D

share|improve this answer
add comment

You should read this article to have a comprehension about why not turn off kernal paging :) Understanding the windows pagefile

share|improve this answer
add comment

Microsoft (even OSX and Linux and Unix.. AND SunOS, etc, etc) DEFAULTS are for the AVERAGE USER! LOL

Anyone with a shred of proper computer expertise with Windows (or appropriate OS) knows that there are MANY things you can tweak to get better performance. MS does not enable all these tweaks so the OS is compatible to the widest range of hardware configurations.

2GB ram is not a lot these days, but you can STILL prevent to the kernel from being swapped out. Even the windows 8 kernel doesn't take THAT much memory. Anythings else that's idle will get swapped if you load a large program.

That being said with larger video card memory (1.5-4GB being the norm), you should NOT be using a 32bit version of Windows anymore. 2GB of ram on 32bit Windows is a WASTE! If you put in a 3GB video card, kiss 1GB of your system memory goodbye. 32bit windows can only see 4GB of address space, and EVERYTHING must be loaded into that space, system memory, video memory, expansion card memory. That's why you want 64bit Windows. Most consumer intel/amd cpus are limited to about a 32-64GB memory address space - which is fine. I think the max for a fully enabled cpu and mobo is 64 or 128TB of ram.

Why is this good? Video cards, etc won't reduce your system memory. Plus if you only have 2GB ram on Win x64, you can expand it to as much as your mobo allows, and you don't have to do a thing to windows.

If you load Win x64, then you can stick any size video card in there and it won't affect system memory at all. Idle drivers, DLLs, exes, etc will be swapped to disk if memory is needed for a large app or game

Also to consider: 2GB is the largest amount of memory a 32bit app can use. A 32bit exe compiled in LAA (Large Address Aware) can use 4GB on a 64bit Win OS. So if you only have 2GB of RAM and fire up a 32bit LAA program, and it uses 3GB, your swap file will be swapping a LOT

For modern computers, 4GB is the MINIMUM you should have, preferably 8GB. For a gaming rig, nothing over 8 is needed. 16GB is great, but all it does is gives you a nice BIG read cache (or write if u have it enabled - Id recommend a APC power backup b4 enabling write cache back). Right now, I know of NO game that actually uses over 4GB of ram. I've seen a few use about 3-3.5 though.

Summary: don't bother keeping the kernel in memory with 32bit Windows... if you have Win x64 with 2 or more GB of ram, then DEFINATELY keep the kernel in memory! Because when the system runs low, you do NOT want the kernal swapped! This will really kill performance. Better to have other idle DLL, drives, serives, etc swapped instead

share|improve this answer
add comment

Leave everything to the default. Let Microsoft do their job. If your system slows down, that means something else (3rd party) has caused it. Why would Microsoft or other commercial operating systems sell something that would only cause customers to go berserk from frustrations?

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.