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