[Bioclusters] (no subject)
Tim Cutts
bioclusters@bioinformatics.org
Tue, 30 Mar 2004 20:27:34 +0100
On 30 Mar 2004, at 19:00, Dan Bolser wrote:
> On Wed, 31 Mar 2004, LAI Loong Fong wrote:
>
>> Hmm strange that you are getting 2GB per process, my large job
>> normally
>> died around the 3GB on a standard linux kernel. Size of swap got
>> nothing to do with this limit especially when you already has 4GB of
>
> This was just a rumour I heard about true64. Kernel limits physical
> memory
> to the size of the swap for some reason.
I think you are referring to Tru64's two methods of swap allocation.
There is a kernel tunable parameter in Tru64 called vm_swap_eager.
This can be set to one of two modes.
As I understand it, it works like this:
Most programs allocate far more memory than they use. This can cause
problems, so most operating systems overcommit memory and swap. The
problem with this approach is that if you malloc a lot of memory, the
malloc may succeed, but when you later try to use it, the OS cannot
fulfil its promises, and really nasty things happen.
Tru64 can operate in this way, just like other operating systems (and
is the way we have it set). But it might be set to its alternative
mode, whereby malloc actually immediately allocates from swap. If
there isn't sufficient swap available, the malloc fails immediately.
In this mode, memory allocated is *guaranteed* to be available to the
application, which for certain applications can make things more
reliable. The machine will never run out of memory at a time other
than at the point of memory allocation.
I seem to remember that IRIX has a similar tunable parameter for memory
use.
Tim
--
Dr Tim Cutts
Informatics Systems Group
Wellcome Trust Sanger Institute
Hinxton, Cambridge, CB10 1SA, UK