在Linux下可以使用如下工具查询CPU缓存:
方式1:
$ lscpu
L1d cache: 32K (一级数据缓存)
L1i cache: 32K (一级指令缓存)
L2 cache: 256K (二级缓存)
L3 cache: 8192K(三级缓存)
方式2:
$ cat /sys/devices/system/cpu/cpu0/cache/index0/size
32K
$ cat /sys/devices/system/cpu/cpu0/cache/index0/level
1$ cat /sys/devices/system/cpu/cpu0/cache/index1/size
32K$ cat /sys/devices/system/cpu/cpu0/cache/index1/level
1
$ cat /sys/devices/system/cpu/cpu0/cache/index3/size8192K$ cat /sys/devices/system/cpu/cpu0/cache/index2/size
256K$ cat /sys/devices/system/cpu/cpu0/cache/index2/level
2
$ cat /sys/devices/system/cpu/cpu0/cache/index3/level
3
方式3:
$ sudo dmidecode -t cache 但是结果与上述的有出路, 显示的L1缓存是256kB, L2缓存是1024 kB, 算上8核, 也与实现不符.
可能程序自身有点问题, 不建议用dmidecode.
# dmidecode 2.12
SMBIOS 2.7 present.
Handle 0x003B, DMI type 7, 19 bytes
Cache Information
Socket Designation: CPU Internal L1
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 256 kB
Maximum Size: 256 kB
Handle 0x003C, DMI type 7, 19 bytes
Cache Information
Socket Designation: CPU Internal L2
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 1024 kB
Maximum Size: 1024 kB
Handle 0x003D, DMI type 7, 19 bytes
Cache Information
Socket Designation: CPU Internal L3
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 8192 kB
Maximum Size: 8192 kB
方式4:
$ cat /proc/cpuinfo
cache size: 8192 KB 这个只是显示出 L3 cache的大小, 也并不准确.