在运行时查找特定线程的CPU核心
Find out CPU core of specific thread at runtime
我在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
函数。
相关文章:
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 如何找出GDB的SIGTRAP核心转储的根本原因
- C++映射分割错误(核心转储)
- 尽管测试成功,CppUnit测试核心仍被丢弃.为什么
- 在c++中初始化矩阵时出现分段错误(核心转储)
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- MPI突然停止了对多个核心的操作
- 在多个核心中处理一个HTTP请求
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 在c++中键入向量中的所有值后,得到分段错误(核心转储)
- 编写一个函数以使用 n 百分比的 CPU 使用率
- 如何禁用 CPU 的无序执行
- Tensorflow如何默认使用CPU核心
- 使用C++将CPU专用于在1个核心上运行进程
- 在运行时查找特定线程的CPU核心
- 内存围栏降低了所有CPU核心的速度
- 找出CPU时钟频率(每个核心,每个处理器)
- openmp是否可以在同一个cpu(核心)上运行不同的线程?
- 在Win32上,如何将线程移动到另一个CPU核心