Hi
Could anybody explain me how to check how many L1/L2 cache my cpu have.
I'm using CentOS 5.6
cat /proc/cpuinfo |grep CPU
model name : Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz
model name : Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz
Diagram of a generic dual-core processor, with CPU-local level 1 caches, and a shared, on-die level 2 cache.
http://upload.wikimedia.org/wikipedia/commons/e/ec/Dual_Core_Generic.svg
grep 'cache size' /proc/cpuinfo
cache size : 6144 KB
cache size : 6144 KB
###################################
Here we can see that cpu have 6MiB L2 cache and 64KiB L1 cache
dmesg |grep 'CPU: L'
CPU: L1 I cache: 32K, L1 D cache: 32K
CPU: L2 cache: 6144K
L2 - true
L1 - not true because each CPU core have 64 KiB memory cache (Instruction and Data)
############################################
Into sys directory we can find some information about cache size but again not all information are true
L2 - not true
L1 - true
cat /sys/devices/system/cpu/cpu*/cache/index*/size
32K
32K
6144K
32K
32K
6144K
#####################################
getconf show information only for one core.
getconf -a |grep CACHE
LEVEL1_ICACHE_SIZE 32768
LEVEL1_DCACHE_SIZE 32768
LEVEL2_CACHE_SIZE 6291456
L1 - 64KiB - not true
L2 - 6MiB - true
############################
According the most powerful tool - x86info we can presume that we have:
x86info -c
Found 2 identical CPUs
Extended Family: 0 Extended Model: 1 Family: 6 Model: 23 Stepping: 6
Type: 0 (Original OEM)
CPU Model (x86info's best guess): Core 2 Duo P8600
Processor name string (BIOS programmed): Intel(R) Core(TM)2 Duo CPU T9300 @ 2.50GHz
Cache info
L1 Instruction cache: 32KB, 8-way associative. 64 byte line size.
L1 Data cache: 32KB, 8-way associative. 64 byte line size.
L2 cache: 6MB, 24-way set associative, 64-byte line size.
TLB info
Instruction TLB: 4x 4MB page entries, or 8x 2MB pages entries, 4-way associative
Instruction TLB: 4K pages, 4-way associative, 128 entries.
Data TLB: 4MB pages, 4-way associative, 32 entries
L1 Data TLB: 4KB pages, 4-way set associative, 16 entries
L1 Data TLB: 4MB pages, 4-way set associative, 16 entries
Data TLB: 4K pages, 4-way associative, 256 entries.
64 byte prefetching.
Total processor threads: 2
This system has 1 dual-core processor
running at an estimated 2.50GHz
L1 - 128Kib - true
L2 - 12 MiB - not true
##########################