Most has been said, but I think responders failed to make the link to
typical Linux virtual machines. In a way, a large Linux machine will
beave like the 2nd worst case scenario that Jim describes. Apart
from the initial load that Barton outlined, a large Linux virtual machine
will continuously show this behaviour.

For those who care, let me add some detail to the vague description.

Consider a Linux machine that runs a process frequently that needs
a little bit of CPU time and some memory to do things, say 10 MB.
When Linux has some 100 MB available for that, it will roughly
allocate those 10 MB in different corners of that 100 MB every time,
so after 10 times it has touch all 100 MB. When the process runs
frequently enough (or when something else keeps that virtual machine
in queue) this will show to z/VM a working set of 100 MB.
If the Linux virtual machine is smaller and has only 15 MB free, Linux
will be forced to re-use those same pages over and over again. Thus
the working set on z/VM is 15 MB rather than 100 MB.

Similar things apply to swapping to VDISK. When a page is swapped
back in, it will normally not be read again. The allocation algorithms in
Linux make it use fresh pages for each new swap out. So when Linux
has 1 MB swapped out and is swapping a little bit now and then, over
time it will use your entire VDISK and force z/VM to come up with all
the paging space to carry that VDISK. If you allocate the same amount
of VDISK in a few chunks and swap with different priority, your force
Linux to re-use the same pages. The unused VDISK does not take
resources on z/VM anymore, and the reference rate to the used portion
is so high that it is less likely to be paged out by z/VM.

Rob

Reply via email to