[torqueusers] Max mem

David Singleton David.Singleton at anu.edu.au
Wed Mar 22 02:42:44 MST 2006

Åke Sandgren wrote:
> On Tue, 2006-03-21 at 18:34 +0100, etienne gondet wrote:
>>    My understanding is :
>>the right PBS card to limit real memory use and have the job killed if
>>going over this limit is
>>pvmem and not pmem or mem
>>But pvmem only control static and heap memory so if you use
>>particularly a fortran compiler in 
>>automatic mode for local array  on an application using local array or
>>automatic array (dimensionned 
>>through an integer argument in a sub routine) you won't control all
>>the memory.
>>And there is no way to control both stack, heap and static with one
>>PBS card.
> Not true on Linux from 2.0.0 at least (actually since 1.2.0p6 or so).
> The Linux version takes pvmem and puts it into RLIMIT_AS (ulimit -v)
> which controls the total available virtual memory for a process which
> includes all of the above and then some.

The "and then some" is likely to become (is already!) a real issue
making vmem/pvmem somewhat meaningless (more than it already was).
With a 64-bit address space, applications/libraries can afford to be quite
profligate with memory maps.  In particular, each process in an SGI MPI
application allocates at least 4N GB (where N is the number of processes
in the job) and uses virtually none of it.  Users are surprised when they
find they may have 500+ GB in each process.


More information about the torqueusers mailing list