Назад | Перейти на главную страницу

узнать местонахождение NUMA оперативной памяти процесса

Я тестирую приложение с несколькими экземплярами одного и того же приложения. Я обнаружил, что привязка их процессов (с sched_setaffinity под Linux, с TaskManager под Windows) к конкретным процессорам увеличивает производительность. Итак, у меня было бы:

* whatever.exe pinned to CPU 1
* whatever.exe pinned to CPU 2
* whatever.exe pinned to CPU 3
* whatever.exe pinned to CPU 4

у каждого файла what.exe есть свои буферы и кучная память. Я хочу избежать того, чтобы процесс на ЦП 1 имел доступ к ОЗУ с ЦП 2, потому что с Core Microarchitecture от Intel для этого потребуется переход QPI к следующему процессору.

Как я могу определить под Windows, какая оперативная память процессора используется процессом? Как я могу это сделать в Linux?

Я думаю о таком ответе, как «процесс X имеет свою RAM от физического адреса RAM Y до Z, а CPU A напрямую подключен к RAM от адреса B до C».

Есть ли в Windows инструмент, чтобы получить такой ответ?