I am doing an application benchmark with multiple instances of the same application. I found out that pinning their processes (with sched_setaffinity under Linux, with TaskManager under Windows) to specific CPUs increases performance. So I would have:

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

each whatever.exe has its own buffers and heap memory. I want to avoid that a process on CPU 1 has to access RAM from CPU 2 because with the Core Microarchitecture from Intel, this would need a QPI hop to the next processor.

How can I determine under Windows, which CPU's RAM is being used by a process? How can I do this under Linux?

I am thinking of an answer like "process X has its RAM from physical RAM address Y to Z and CPU A is directly connected to RAM from address B to C".

Is there a Windows tool to get this kind of answer?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.