我目前正在使用 NUMA 机器。我遇到了一个问题,当我执行磁盘 I/O 时,缓存的页面开始堆积在当前节点(节点 0)中。而当我进一步malloc
新的记忆时,他们去了另一个节点(节点1),导致性能不佳。
我正在考虑两种可能的解决方案,但不知道它们是否有效。
(1)numa_alloc_onnode()
在节点 0 上使用。但我不确定这是否会覆盖节点 0 中的页面缓存或仍会转到节点 1。
(2) 缓存节点 0 开始堆积时丢弃(节点 1 中的缓存不应该丢弃,因为它们很有用)。但我不知道该怎么做。