在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/size32K
$ cat /sys/devices/system/cpu/cpu0/cache/index0/level1
$ cat /sys/devices/system/cpu/cpu0/cache/index1/size32K
$ cat /sys/devices/system/cpu/cpu0/cache/index1/level1
$ cat /sys/devices/system/cpu/cpu0/cache/index2/size256K
$ cat /sys/devices/system/cpu/cpu0/cache/index2/level2$ cat /sys/devices/system/cpu/cpu0/cache/index3/size8192K
$ cat /sys/devices/system/cpu/cpu0/cache/index3/level3方式3:
$ sudo dmidecode -t cache可是结果与上述的有出路, 显示的L1缓存是256kB, L2缓存是1024 kB, 算上8核, 也与实现不符.
可能程序自身有点问题, 不建议用dmidecode.
# dmidecode 2.12SMBIOS 2.7 present.Handle 0x003B, DMI type 7, 19 bytesCache 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 kBHandle 0x003C, DMI type 7, 19 bytesCache 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 kBHandle 0x003D, DMI type 7, 19 bytesCache 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的大小, 也并不准确.