[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 


Dr Tim Cutts
Informatics Systems Group
Wellcome Trust Sanger Institute
Hinxton, Cambridge, CB10 1SA, UK