linux – 如何查找有关CPU并行架构的信息?

我是Intel(R)Core(TM)2 Duo cpu T6600 @ 2.20GHz(正如cat / proc / cpuinfo告诉我的那样),但我需要尽可能深入地重新考虑.从事并行编程的架构(可能使用pthreads).有什么指针吗?

最佳答案
sys文件系统知道所有这些:

$ls /sys/devices/system/cpu 
cpu0  cpu2  cpuidle  possible  sched_mc_power_savings
cpu1  cpu3  online   present

$ls /sys/devices/system/cpu/cpu0/topology/
core_id        core_siblings_list   thread_siblings
core_siblings  physical_package_id  thread_siblings_list

这是documentation

使用这个文件系统,您可以了解您拥有多少cpu,拥有多少线程,哪些cpu与其他cpu相邻,以及哪些cpu与其他cpu共享高速缓存.

例如 – 问:哪些cpu使用cpu0共享它的L2缓存?

$cat /sys/devices/system/cpu/cpu0/cache/index2/{type,level,shared_cpu_list}
Unified
2
0-1

答:它与cpu1(和它自己)共享它的统一L2缓存.

一个例子:问:哪些cpucpu0在同一物理包中(在较大的机器上):

cat /sys/devices/system/cpu/cpu0/topology/core_siblings
00000000,00000000,00000055

答:核心0,2,4和6.(取自上面的位模式,lsb = cpu0)

并非所有的Linux系统都有sys文件系统,并且它并不总是在root中. (可能在proc / sys中?). thread_siblings_list表单并不总是可用,但是thread_siblings(位模式)是.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...