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
|