Inactive memory

Chuck Swiger cswiger at mac.com
Tue Feb 8 17:34:48 PST 2005


Erik Trulsson wrote:
> On Tue, Feb 08, 2005 at 05:55:26PM -0500, Chuck Swiger wrote:
>>Wired memory is typically the kernel text (executable code), any kernel 
>>modules which have been loaded, and dynamic kernel memory used for critical 
>>structures like the process table, descriptor table, VM page tables, which 
>>tend to be staticly allocated.  The pager never touches these, they are 
>>always resident in RAM. 
> 
> Considering that the amount of memory in the "Wired" state tends to
> vary quite a bit as the system runs it is certainly not all statically
> allocated. 

Sure, wired memory isn't fixed in size, it changes in response to load and to 
loading or unloading kernel modules.  It used to be the case that many kernel 
structures were fixed in size, they are become more flexible and more 
self-tuning over time as people improve things.

[ ... ]
>>More dynamic kernel data structures like the I/O buffer used for disk 
>>access, network buffers, and the like are also wired down, but the system 
>>will adjust the size and flush pages of data from open files and the like 
>>to disk depending on the situation.  That pool of memory is the Cached 
>>category.
> 
> No, that is not Cached memory.  It might be "Buffered", but I am not
> sure exactly what goes in that category (it is however the only
> category whose size do not fluctuate as time passes.)

I could be wrong, too, I suppose.  :-)

One of the problems is that people use certain terms to talk about different 
types of memory, and it doesn't do you much good if your understanding of 
terms doesn't match what the code is actually doing.

-- 
-Chuck


More information about the freebsd-questions mailing list