Я пытаюсь проанализировать прирост производительности сети, который получают виртуальные машины, когда они используют огромные страницы. Для этого я настроил гипервизор на несколько огромных страниц 1G (36), изменив командную строку grub и перезагрузившись, а при запуске виртуальных машин я убедился, что огромные страницы передаются виртуальным машинам. При запуске 8 виртуальных машин (каждая с 2 огромными страницами 1G) и проведении тестов пропускной способности сети между ними было обнаружено, что пропускная способность была значительно ниже, чем при работе без огромных страниц. Это заставило меня задуматься, не связано ли это с количеством огромных страниц, которые я использовал. Существует ли ограничение на количество огромных страниц размером 1 Гб, на которые можно ссылаться с помощью TLB, и если да, то ниже ли оно ограничения для страниц обычного размера? Откуда я знаю эту информацию. В этом сценарии я использовал систему 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
Означает ли это, что я могу иметь только 4 сопоставления огромных страниц 1G в TLB в любое время?