Sample Header Ad - 728x90

Find out where the allocated memory for a process resides

2 votes
1 answer
329 views
I would like to investigate where the memory for a specific process is allocated. To be more specific: I am running an OpenMP parallel Fortran binary on a ccNUMA machine with two physical CPUs. My concern is that this program violates the first touch rule when initializing its variables. This would lead to memory being allocated in a non-balanced fashion, i.e. most of the memory would be allocated in the address space of only one physical CPU instead of balancing it between both CPUs. In turn, this would lead to poor scaling for this memory-bandwidth limited application. Unfortunately, I don't have access to the source code. So looking at the memory allocation seems like a good way way to find out. Other ideas are welcome. Edit due to comments: OpenSUSE Leap 42.3, kernel version 4.4.103-36-default
Asked by MechEng (233 rep)
Apr 30, 2018, 09:35 AM
Last activity: May 2, 2018, 09:44 AM