我正在尝试分析虚拟机在使用大页面时获得的网络性能提升。为此,我通过更改 grub 命令行并重新启动将虚拟机管理程序配置为具有多个 1G 大页面(36),并且在启动 VM 时,我确保将大页面传递给 VM。在启动 8 个虚拟机(每个都有 2 个 1G 的大页面)并在它们之间运行网络吞吐量测试时,发现吞吐量比没有大页面时的运行速度要低得多。这让我想知道,这是否与我使用的大页面数量有关。可以使用 TLB 引用的 1G 大页面的数量是否有限制,如果有,是否低于常规大小页面的限制?我怎么知道这些信息。在这种情况下,我使用的是 Ivy Bridge 系统,并使用 cpuid 命令,我看到了类似
cache and TLB information (2):
0x63: data TLB: 1G pages, 4-way, 4 entries
0x03: data TLB: 4K pages, 4-way, 64 entries
0x76: instruction TLB: 2M/4M pages, fully, 8 entries
0xff: cache data is in CPUID 4
0xb5: instruction TLB: 4K, 8-way, 64 entries
0xf0: 64 byte prefetching
0xc1: L2 TLB: 4K/2M pages, 8-way, 1024 entries
这是否意味着我在 TLB 中任何时候都只能有 4 个 1G 的大页面映射?