Счетчики производительности оборудования показывают walk_completed_1G, когда я не использую страницы размером 1 ГБLinux

Anonymous
Счетчики производительности оборудования показывают walk_completed_1G, когда я не использую страницы размером 1 ГБ

Сообщение Anonymous »

Я запускаю программу, которая считывает большой объем выделенной памяти. У меня включены прозрачные огромные страницы. Более того, я не использую обычные огромные страницы, а даже если бы и использовал, их размер установлен на 2 МБ, как видно из

Код: Выделить всё

ShmemHugePages:        0 kB
FileHugePages:      4096 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
Hugetlb:               0 kB
Когда я запускаю статистику производительности со следующими событиями, я получаю

Код: Выделить всё

    95,918,466      DTLB_LOAD_MISSES.WALK_COMPLETED
3,376      DTLB_LOAD_MISSES.WALK_COMPLETED_4K
95,915,062      DTLB_LOAD_MISSES.WALK_COMPLETED_2M_4M
28      DTLB_LOAD_MISSES.WALK_COMPLETED_1G
Как вы можете видеть, есть несколько обходов таблицы страниц, вызванных страницами размером 4 КБ, но большинство обходов таблицы страниц вызваны страницами размером 2 МБ. Учитывая, что я работаю с прозрачными огромными страницами, это именно то, чего я ожидал. Но откуда берутся прогулки по 1Гб?

Подробнее здесь: https://stackoverflow.com/questions/787 ... sing-any-1

Вернуться в «Linux»