[Beowulf] size of swap partition
kus at free.net
Tue Jun 10 10:35:46 PDT 2008
In message from Mark Hahn <hahn at mcmaster.ca> (Tue, 10 Jun 2008
00:58:12 -0400 (EDT)):
>for instance, you can always avoid OOM with the vm.overcommit_memory=2
>sysctl (you'll need to tune vm.overcommit_ratio and the amount of swap
>to get the desired limits.) in this mode, the kernel tracks how much
>it actually needs (worst-case, reflected in Committed_AS in
>and compares that to a commit limit that reflects ram and swap.
>if you don't use overcommit_memory=2, you are basically borrowing VM
>space in hopes of not needing it. that can still be reasonable,
>how often processes have a lot of shared VM, and how many processes
>allocate but never touch lots of pages. but you have to ask yourself:
>would I like a system that was actually _using_ 16 GB of swap? if you
>have 16x disks, perhaps, but 16G will suck if you only have 1 disk.
>at least for overcommit_memory != 2, I don't see the point of
>a lot of swap, since the only time you'd use it is if you were
>sort of a "quality of life" argument.
>>> But what are the reccomendations of modern praxis ?
>it depends a lot on the size variance of your jobs, as well as their
>real/virtual ratio. the kernel only enforces RLIMIT_AS
>(vsz in ps),assuming a 2.6 kernel - I forget whether 2.4 did
>RLIMIT_RSS or not.
>if you use overcommit_memory=2, your desired max VM size determines
>the amount of swap. otherwise, go with something modest - memory size
>or so. but given that the smallest reasonable single disk these days
>is probably about 320GB, it's hard to justify being _too_ tight.
:-) The disks we use in nodes is SATA WD/10K RPM w/70 GB :-))
We didn't set overcommit_memory=2, but really use strongly restricted
scheduling police for SGE batch jobs using only few applications. We
have only batch jobs (no interactive), moreover - practically only
*long batch jobs*. As a result we have summary VM (requested per node)
equal (or lower) than RAM. There is practically zero swap activity.
The only exclusion are (seldom executed) small test jobs,
non-parallelized, mainly for check of input data. They use small RAM
amount. So it looks for me that I may set even lower than 1.5*RAM swap
size (I think RAM+4G = 20G will be enough).
In message from Walid <walid.shaari at gmail.com> (Tue, 10 Jun 2008
>For an 8GB dual socket quad core node, choosing in the kick start
>file --recommended instead of specifying size RHEL5 allocates 1GB of
>memory. our developers say that they should not swap as this will
>cause an overhead, and they try to avoid it as much as possible
OpenSuSE 10.3 recommends swap size=2 GB only, but I don't know,
performs SuSE inst software some estimation of server RAM or no.
More information about the Beowulf