我有兴趣在Linux上的ZFS上的zvols上使用多插槽系统上的KVM映像。 我想知道如何固定NUMA节点,以便为系统上的所有KVM映像最大化ZFS ARCcaching的好处。 显然,我应该把每个虚拟机连接到一个套接字/节点,这样它的所有内存都在一个控制器上。 但是我对如何设置主机感到困惑,所以ARC最大限度地利用了每个虚拟机。
如果我将主机保留在一个NUMA节点上,这意味着另一个节点上的VM对ARC的访问速度会更慢。 但是,如果主机分布在NUMA节点上,则其性能将受到影响,这可能会影响客户端的性能。
从我读过的东西,我甚至不清楚主机是否可以绑定到特定的节点,或者如果根据定义,它使用所有的节点。 如果是这样的话,NUMA节点的Linux ARC上的ZFS有多了解?
将资源/进程手动固定到特定的套接字,应该只在非常特定的情况下完成。 此外,ARC本身是一个全球资源(主要)不可预知的访问模式/命中。
我强烈build议你不要进行这种微调,除非被certificate是需要良好性能的。 尝试使用默认设置来运行你的linux安装,而不要混淆NUMA,并使用numastat观察你的系统行为
如果需要更多的调整,请尝试通过numad使用自动优化。 只有且仅当这还不够时,请尝试使用numact和/或KVM来宾CPUlocking进行优化。