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.

It is subtly mentioned on this article, that the page- and non-page pool, are used for contiguous memory allocations which are sub-page size.

It then goes on to list the differences. I am not sure if this first part is accurate, probably because it is not emphasized enough throughout the article, and because it's not mentioned on any other site.

  1. So my first question is the page pool, the amount of memory that can be paged out that consists of sub page size allocation of memory, and non paged the opposite?
  2. Is this separately measured from normally allocated memory?
  3. Also the cached memory in the image below is that in working memory (ram) or just in virtual memory?

I just found it strange the the commit use is .7 but the cache plus the ram usage is about .9. It this commit (In Use + page and non paged pools), because that would make more sense to me?

page pool and cached memory

share|improve this question
add comment

1 Answer 1

up vote 1 down vote accepted

So my first question is the page pool, the amount of memory that can be paged out that consists of sub page size allocation of memory, and non paged the opposite?

The paged pool is memory that can be paged out. The non-paged pool is memory that cannot be paged out. The paged pool is used for normal storage, file mappings, and the like. The non-paged pool is used for things that might need to be accessed from a protected context, like data associated with I/O operations in progress.

Is this separately measured from normally allocated memory?

I'm not quite sure I follow this question. Windows has historically had a pretty tight limit on the size of the non-paged pool. But the "pools" aren't really reserved specific chunks of memory but more reserved amounts of memory.

Also the cached memory in the image below is that in working memory (ram) or just in virtual memory?

The cached memory you are seeing is physical RAM that contains data that can safely be discarded. This generally means pages of physical RAM that contain file data. (It can include things like a pool of pre-zeroed pages.)

share|improve this answer
    
If the paged pool represent all memory (memory that can be paged out + memory that cannot be page) why are those variables so comparably low to the total amount of memory used? Am I misunderstanding this? Is the non paged pool similar to wired memory in OSX. –  rubixibuc Feb 15 '12 at 3:24
    
Windows only counts pageable system allocations under the paged pool. So that would include things like pageable driver files or other files mapped into memory by kernel drivers, registry cache, and so on. Things allocated directly by processes are not counted. –  David Schwartz Feb 15 '12 at 3:35
    
So whether it's in non or page pool, it only represents memory allocated in kernel space? Also is the paged pool, completely in physical memory or is it in virtual memory (can be either)? –  rubixibuc Feb 15 '12 at 3:47
1  
@rubixibuc, the kernel maintains two different heaps for its private allocations. One can be paged, the other can not. All memory is virtual, the difference is whether or not it must be backed by physical ram at all times, or can sometimes be paged out. –  psusi Feb 15 '12 at 4:12
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.