VM and jailed processes

Chuck Swiger cswiger at mac.com
Sun May 14 04:45:47 PDT 2006


Andrew wrote:
> It's my understanding that if there is more than one instance of a
> specific application running, then portions of the code are shared in
> memory. I would assume that would apply to dynamically linked
> applications as well; i.e. if two different applications are linked
> against the same library, the given code exists in only one location in
> memory. Is this correct?

Yes.  The details are more complicated, but the portion of an executable 
which contains code and does not change can be shared between many 
processes from only one copy in physical RAM, and likewise for shared 
libraries loaded by dynamic or runtime linking.

> The second portion of my question is, how does this apply to jailed
> processes? Looking through the architecture handbook, I did not see any
> references to VM, which leads me to believe that the standard rules
> apply to jails as well. So, for instance, if I was to provide a hosting
> service with numerous instances of Apache running in individual jails,
> could I assume that base memory usage (ie idle, not serving requests)
> would increase at a roughly linear rate.
>   

The same thing applies to jails, and the static portions of apache/httpd 
will only appear once in RAM, however, you are going to see roughly 
linear increase in memory usage depending on the number of children 
running, because there's anywhere from 1MB to 25MB or so of dynamic 
memory being used per httpd which is specific to that process, depending 
on which modules you're using and whether you are loading perl or PHP 
scripts....

-- 
-Chuck



More information about the freebsd-questions mailing list