在运行时查找特定线程的CPU核心

Find out CPU core of specific thread at runtime

本文关键字:CPU 核心 线程 运行时 查找      更新时间:2023-10-16

我在SUN/Solaris上运行CC编译器,操作系统为不同的内核分配了超过64个线程。我很想知道是否有方法在运行时获得不同线程的核心id?

我没有为这些线程设置相关性,而是使用psrset来创建处理器集。

我找到了答案:Solaris上的getcpuid()返回核心id(即使是超线程):我已经测试过了,效果很好。http://www.unix.com/man-page/all/3c/getcpuid/

我不知道是否有Solaris特定的系统调用,但您可以使用可移植的hwloc库及其hwloc_get_last_cpu_location函数。