У меня есть приложение С++ для Linux, которое очень чувствительно к задержкам. Мое использование памяти составляет около 2 ГБ, поэтому с 4kb-страницами и 64 записями TLB я собираюсь встретить пропуски TLB.
Я читал в руководствах разработчиков Intel, что "огромные" страницы размером 2 МБ (или 4 МБ?) уменьшают количество записей TLB наполовину, поэтому увеличение диапазона памяти компенсирует сокращение записей в TLB, и было бы лучше для производительности.
Как распределить память с помощью "огромных" страниц в приложении на С++? Есть ли компромиссы, о которых я должен знать?
Мой Linux - это дистрибутив Red Hat.