Я ищу команду для проверки на размер кэша L3 на микросхеме в системе Unix.
Смотрите на dmidecode, который имеет превосходную страницу справочника.
Ищите запись, названную "информация о Процессоре", чтения шахты:
Handle 0x0004, DMI type 4, 35 bytes
Processor Information
...
L1 Cache Handle: 0x0008
L2 Cache Handle: 0x0009
L3 Cache Handle: Not Provided
...
Это говорит мне искать дескриптор 0x0009 (для кэша L2, так как у меня нет L3). Это читает:
Handle 0x0009, DMI type 7, 19 bytes
Cache Information
Socket Designation: L2 Cache
Configuration: Enabled, Socketed, Level 2
Operational Mode: Write Back
Location: External
Installed Size: 2048 KB
Maximum Size: 2048 KB
Supported SRAM Types:
Burst
Pipeline Burst
Asynchronous
Installed SRAM Type: Burst
Speed: Unknown
Error Correction Type: Unknown
System Type: Unknown
Associativity: Unknown
Если все остальное перестало работать, просто используйте/proc/cpuinfo или любой другой метод, чтобы найти номер модели Вашего процессора и искать это на Google для нахождения спецификаций.
На недавних ядрах Linux, работающих на x86 архитектуре, можно, вероятно, найти информацию, в которой Вы хотите /sys/devices/system/cpu/cpu#/cache
(замените #
числом ЦП). Например, на этом компьютере (который не имеет кэша L3):
$ cat /sys/devices/system/cpu/cpu0/cache/index0/level
1
$ cat /sys/devices/system/cpu/cpu0/cache/index0/type
Data
$ cat /sys/devices/system/cpu/cpu0/cache/index0/size
64K
$ cat /sys/devices/system/cpu/cpu0/cache/index1/level
1
$ cat /sys/devices/system/cpu/cpu0/cache/index1/type
Instruction
$ cat /sys/devices/system/cpu/cpu0/cache/index1/size
64K
$ cat /sys/devices/system/cpu/cpu0/cache/index2/level
2
$ cat /sys/devices/system/cpu/cpu0/cache/index2/type
Unified
$ cat /sys/devices/system/cpu/cpu0/cache/index2/size
512K
Это соответствует кэшу данных L1 64K, кэшу инструкции L1 64K и кэшу L2 instruction+data 512K. Обратите внимание, что это более подробно, чем /proc/cpuinfo
, который только говорит cache size : 512 KB
. Существует несколько других файлов в них cache/index#
каталоги еще с большим количеством детали.
Читайте Documentation/ABI/README
и Documentation/ABI/testing/sysfs-devices-system-cpu
перед использованием этих файлов; в частности, они, кажется, не стабильный ABI и таким образом могли бы стать пропавшими без вести в будущем. Они происходят из arch/x86/kernel/cpu/intel_cacheinfo.c
, который использует cpuid
непосредственно получить информацию (подразумевать это, когда существующий, они должны быть более надежными, чем dmidecode
).