Hello,

My question is about virtual memory allocated by an open-mpi program. I am
not familiar with memory managment and I will be grateful if you could
explain me what I am observing when I launch my openMpi program on several
machines.

My program is started on a server machine which comunicate with 72 client
machines.
When I am doing a "top" on the Linux shell of the server machine: I can
observe:

Mem:   2074468k total,     777848k used,      1296628k free,          4224k
buffers
Swap:  4192924k total,               52k used,      4192872k free,
339184k cached
PID       USER      PR  NI   VIRT       RES       SHR    S       %CPU
%MEM     TIME+        COMMAND
28211  realtime  20   0     *2104m*    158m     29m    S        100
4.6             1:04.14       MyOpenMPIProgram

What I do not understand is where the value of 2104m for the virtual memory
comes from.
When I add the value of Mem used (777848k) to the value of the cache
(339184k) : the amount is by far inferior to the Virtual memory (2104m).
Are here part of the memory allocated by the clients taken into account ?
Where are physically allocated these 2104m of data ?
I was assuming that a process cannot allocate more the 2Go of RAM on a 32bit
machine, this would meant that part of this 2104m is located on the disk or
anywhere else...

My configuration is:
OpenMPI 1.4 on Mandriva 2008 (32bit)
Program is started using: mpirun --mca btl_tcp_eager_limit 50000000 -v
-machinefile machinefile.txt MyOpenMPIProgram

Thanks in advance for any help/tips (and sorry if this is not completly
related to openmpi).

Olivier

Reply via email to