Debian Linux Server — Размер кэша L1 и L2

Debian Linux Server — Размер кэша L1 и L2

Возможный дубликат:
поиск размера кэша 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

Похоже, это дубликат

поиск размера кэша L2 в Linux

Однако в обоих случаях 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.

Связанный контент