2017-07-28 56 views
1

我正在使用运行在上的Java线程(Java 8)的多线程代码执行与NUMA(非统一内存访问)相关的研究。双处理器:Intel(R)至强(R)CPU E5-2650 V2 @ 2.60GHz:双线程处理器之间的Java线程迁移

http://ark.intel.com/products/75269/Intel-Xeon-Processor-E5-2650-v2-20M-Cache-2_60-GHz

所以在计算机体系结构而言我有两个这些处理器配置为两个NUMA节点。 很难理解我的程序的线程在哪里映射到物理内核。为了得出一些结论,我需要一种方法来了解我的程序的线程在执行期间是否在内核之间或套接字之间存在迁移现象。

有什么建议吗?感谢您的帮助。

+1

将线程映射到CPU内核的过程取决于操作系统。 (没有标记) – litelite

回答

2

Java线程对象委托给OS的线程管理系统,所以确切的行为取决于操作系统。此外,操作系统通常不会将线程“映射”到内核,这会导致处理器的使用效率低下。我不能说你的情况发生了什么,但我认为这很复杂。