是什么阻止了页面迁移?

是什么阻止了页面迁移?

OpenSUSE 42.3,内核 4.4.175-89-默认

运行内存带宽密集型应用程序时,我意识到以下行为:该应用程序使用具有 2 个节点的 NUMA 系统的约 55% 的物理内存。该应用程序使用 OpenMP 进行并行化,但不考虑 NUMA。因此它依靠页面迁移来实现相当不错的执行速度。

看起来是这样的: 每次迭代的墙时间

在大约 180 次迭代时,我使用以下命令手动清除缓存

# echo 3 >| /proc/sys/vm/drop_caches

其结果是性能立即得到改善。在我手动清除缓存之前,是什么阻止系统进行正确的页面迁移?

相关内容