View Single Post

   
  #2 (permalink)  
Old 03-10-2008, 04:53 PM
Don Morris
 
Posts: n/a
Default Re: struct pst_static: physical_memory and pst_maxmem

Alex Vinokur wrote:
> struct pst_static contains various members including:
>
> physical_memory; /* system physical memory in 4K pages */
> pst_maxmem; /* actual max memory per process */
>
> Is pst_maxmem only physical memory?


Yes, it is the maximum physical memory any given user process
could acquire (obviously assuming it manages to get every page
away from any other user process -- in practical terms, you'd
have to be extremely lucky [and at least RealTime priority]
to ever manage this... but it is a high water mark to compare
actual Resident Set Size consumption with as a proportion of
User physical sizing).

> What does pst_maxmem depend on?


The amount of memory used by the kernel at boot for allocations
which are pretty much never freed back to the system (and as
such are considered unallocatable for users), some memory
reserved for kernel critical allocation pools, and possibly
partitioned user memory groups if you have the PRM product.

Or in simple terms -- pst_maxmem = physical_memory - KernelFixedCosts

Kernel dynamic memory fluctuates and as such isn't reflected
dynamically via the pst_maxmem field [for one thing, if the
system can flush out cached but free kernel memory that memory
becomes usable again for user space].

> What is connection between physical_memory and pst_maxmem?


pst_maxmem is always strictly less than physical_memory.
(You can never get more physical memory to a user process
than the system has in total, and in practice the kernel
will always consume some of it before users can).

Don
--
kernel, n:
A part of an operating system that preserves the medieval traditions
of sorcery and black art.
Reply With Quote