What information does "Top" output while using MPI
I am trying to figure out how much memory my program which uses MPI needs. It was suggested to use the function "top" to obtain the usage of memory. However, I am unclear on what the information means.
I wish to know how to estimate the system memory and how much it utilizes?
top - 13:52:41 up 208 days, 19:50, 1 user, load average: 0.68, 0.15, 0.05
Tasks: 86 total, 6 running, 80 sleeping, 0 stopped, 0 zombie
Cpu(s): 98.5% us, 0.6% sy, 0.0% ni, 0.8% id, 0.0% wa, 0.0% hi, 0.1% si
Mem: 1024708k total, 225144k used, 799564k free, 104232k buffers
Swap: 开发者_如何学Go 0k total, 0k used, 0k free, 37276k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12052 amohan 16 0 9024 4756 5504 R 99.0 0.5 0:09.65 greet
12054 amohan 16 0 9024 4756 5504 R 99.0 0.5 0:09.64 greet
12055 amohan 16 0 9024 4752 5504 R 98.7 0.5 0:09.65 greet
12053 amohan 16 0 9024 4760 5504 R 98.7 0.5 0:09.63 greet
This question is related to an earlier post Fatal Error in MPI_Irecv: Aborting Job
The standard information displayed by top is, in order:
- The Process ID
- The owning username
- The kernel-assigned process priority (higher is "lower" priority)
- The "niceness" of the process (higher is "nicer" to other processes and gives the process a "lower" priority)
- The virtual memory allocated for the process in KiB
- The resident memory in use by the process (the memory that has been
malloc()
ed and is not swapped out) in KiB - The shared memory (the memory that is accessible to both the running process, its sibling processes, and any other processes that have been granted access) accessible to the process in KiB
- The run state (R is running, Z is zombie, S is sleeping, etc.)
- The % of CPU in use (obviously)
- The % of memory in use relative to total system memory
- The cumulative time that the process has been in a Run state
More detailed information should be available in man top
.
In particular, the memory that MPI likely uses is contained in the shared memory area. More detailed information can be pulled from the /proc/
directory, but I don't know the specifics off the top of my head.
精彩评论