DisablePagingExecutive not working

D

Dave

I am running XP Home SP1 with all updates applied, and with 512Meg
RAM.

I have set the following registry entry to 1:

HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session
Manager/Memory Management/DisablePagingExecutive.

I have booted the machine. But when I bring up Task Manager and look
at the Performance tab, I see the following:

The PFUsage says 177 MB

Kernel Memory (K)
Total 31963
Paged 23872
Nonpaged 8092

I am wondering why the kernel is still being paged.

Thanks for any help
Dave
 
J

Jim

My suspicion is that Task Manager is simply wrong. Not sure what it's
looking at, but heck, I have the paging file completely disabled!, and it
shows ~53MB of paged kernal! What's that all about? And I checked the C:
root, exposed hidden files, and there's no pagefile.sys there either (which
is correct if virtual memory is disabled). Your use of
DisablePagingExecutive is simply a special case, where the paging file
exists, but forces it to load entirely into RAM. So given my situation, w/
no paging file, it only confirms my belief that Task Manager is just wrong,
or basing its calcs on something else.

HTH

Jim
 
G

Guest

I saw these posts on here, and decided to give you my 2 cents worth... First, as ynow know, if you turn off paging, the OS simply stops writing dirty pages to the page file and never uses it. Paging and protection are not the same, in that there are really 2 address spaces, V=R and V=V. If an i386 et al is in real mode, the virtual address equals the page address. If you are in virtual memory, the address space is virtual and pages are mapped to pages of real memory, using this pool of actual physical memory as a "page frame"(old term, but it still works) to tack the virtual addresses into..... Hope you aren't rolling your eyes yet at this obvious stuff, but bear with me.. I'm almost there

When you turn off paging you are still in protected mode, just not paging to disk. When a virtual page is referenced in a page of memory, there are bits recording the status of the pages in the address tables ..., all as an aid to Virtual Memory. Two of these are of interest. The primary one is a page marked "Discardable" - pages marked like that are simply tossed out, and reloaded as needed. There is a not dirty bit that lets you do the same thing... both of these would require some way to reload the page, but that seems doable. So it is possible to use protected mode and throw away pages without writing them out on the Page data set.

I would guess that what you are seeing is not a bug in task manager, because I suspect that the "available memory" calculations look at these bits to decide how much we have available. As for the kernel, if we have a memory image (not an exe) of the kernel on disk, we can discard pages that are marked discardable without ever needing a disk file. I think something like this is what is happening

Best Regards
Bo
 
D

David Candy

Also any loaded program, part of the exe file is part of the virtual memory. This is where stuff gets reloaded from. As it doesn't change the code never needs to be written. Only data goes into the swap file not program code because it can be reloaded from the exe. Executables have both program and data in the exe file. I don't know if this applies to kernel or drivers..
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top