#c #windows #caching #tlb
#c #Windows #кэширование #tlb
Вопрос:
Есть ли в Windows способ отслеживать пропуски TLB приложения? Монитор ресурсов в Windows показывает мне 0 жестких сбоев в секунду (таким образом, TLB пропускает там, где страницы нет в основной памяти). Но есть ли также какой-либо способ отслеживать пропуски TLB, когда страница находится в основной памяти?
У меня есть приложение, в котором мне нужно осуществлять произвольный доступ к примерно 100 ГБ данных. Я запускаю его на компьютере с 160 ГБ оперативной памяти и сохраняю все данные в рабочем наборе. Тем не менее, я вижу, что во время разделов, где происходит произвольный доступ, процессоры отображаются в диспетчере задач Windows как работающие только при загрузке около 20% (приложение многопоточное, с таким количеством потоков, сколько есть ядер процессора, без каких-либо критических разделов и без ввода-вывода).
В настоящее время я подозреваю, что проблема заключается в пропусках TLB, и задаюсь вопросом, как я мог бы подтвердить / отклонить эту теорию.
Комментарии:
1. Возможно, вы сможете измерить это с помощью uProf tool от AMD. Он может измерять ряд низкоуровневых параметров производительности.