我想调查特定进程的内存分配在哪里。
更具体地说:我正在具有两个物理 CPU 的 ccNUMA 计算机上运行 OpenMP 并行 Fortran 二进制文件。我担心的是这个程序在初始化变量时违反了首次接触规则。这将导致内存以非平衡方式分配,即大部分内存将仅分配在一个物理 CPU 的地址空间中,而不是在两个 CPU 之间进行平衡。反过来,这将导致内存带宽有限的应用程序的扩展能力较差。
不幸的是,我无法访问源代码。因此,查看内存分配似乎是找出答案的好方法。欢迎其他想法。
根据评论进行编辑:OpenSUSE Leap 42.3,内核版本 4.4.103-36-default