![Debian Linux Server — Размер кэша L1 и L2](https://rvso.com/image/1313334/Debian%20Linux%20Server%20%E2%80%94%20%D0%A0%D0%B0%D0%B7%D0%BC%D0%B5%D1%80%20%D0%BA%D1%8D%D1%88%D0%B0%20L1%20%D0%B8%20L2%20.png)
Возможный дубликат:
поиск размера кэша 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.