
Возможный дубликат:
поиск размера кэша L2 в Linux
Я использую Debian Linux Server и хочу узнать размер кэша L1 и L2. Может ли кто-нибудь помочь мне, как это узнать?
решение1
dmidecode
должен предоставить вам эту информацию.
Например, для моего процессора он показывает следующий вывод:
Handle 0x0002, DMI type 7, 19 bytes
Cache Information
Socket Designation: L1-Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Through
Location: Internal
Installed Size: 64 KB
Maximum Size: 64 KB
Supported SRAM Types:
Synchronous
Installed SRAM Type: Synchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Data
Associativity: 8-way Set-associative
Handle 0x0003, DMI type 7, 19 bytes
Cache Information
Socket Designation: L2-Cache
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Through
Location: Internal
Installed Size: 256 KB
Maximum Size: 256 KB
Supported SRAM Types:
Synchronous
Installed SRAM Type: Synchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Data
Associativity: 8-way Set-associative
Handle 0x0004, DMI type 7, 19 bytes
Cache Information
Socket Designation: L3-Cache
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Write Back
Location: Internal
Installed Size: 3072 KB
Maximum Size: 3072 KB
Supported SRAM Types:
Synchronous
Installed SRAM Type: Synchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: <OUT OF SPEC>
Из этого видно, что у меня кэш L1 объемом 64 КБ, кэш L2 объемом 256 КБ и кэш L3 объемом 3072 КБ.
решение2
Похоже, это дубликат
Однако в обоих случаях dmidecode не сработал у меня, что вполне логично, поскольку он сообщает информацию BIOS, которая не всегда присутствует или точна. Поэтому лучшим выбором для меня было:
find /sys/devices/system/cpu/*/cache/index*/size -print -exec cat {} \;
/sys/devices/system/cpu/cpu0/cache/index0/size
32K
/sys/devices/system/cpu/cpu0/cache/index1/size
32K
/sys/devices/system/cpu/cpu0/cache/index2/size
6144K
/sys/devices/system/cpu/cpu1/cache/index0/size
32K
/sys/devices/system/cpu/cpu1/cache/index1/size
32K
/sys/devices/system/cpu/cpu1/cache/index2/size
6144K
решение3
Вы можете использовать lshw для поиска информации в кэше. Если он не установлен, его следует получить из репозитория.
решение4
x86info — неплохой инструмент для получения информации о процессоре, если вы используете i386/amd64.