Нужна команда для проверки размера кэш-памяти L3 на кристалле в системе Unix

3141
studiohack

Я ищу команду для проверки размера кэш-памяти L3 на кристалле в системе Unix.

3

4 ответа на вопрос

4
André Laszlo

Взгляните на 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 
2
CesarB

В последних ядрах 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 64 КБ, кэшу команд L1 64 КБ и кэшу инструкций L2 + данных 512 КБ. Обратите внимание, что это более подробно, чем /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).

1
Martin Beckett

посмотрите на '/ proc / cpuinfo'

Не помогает - вот вывод команды: процессор: 7 Производитель: GenuineIntel Arch: семейство IA-64: Itanium 2 Модель: 2 ревизия: 1 Archrev: 0 Особенности: Количество процессоров с разветвленной цепью: 0 Количество процессоров: 4 Процессор MHz: 1500.000000 itc МГц: 1500.000000 BogoMIPS: 2239,75 братьев и сестер: 1 14 лет назад 0
Кроме того, procfs - это Linux (не UNIX), и, например, во FreeBSD он установлен только с установленным Linux-compat. Joey 14 лет назад 0
Я думал, что это вещь Unix, прошло 10 лет с тех пор, как я в последний раз работал с коммерческим Unix (я скучаю по Sun). На моем Pentium и Core Duo он говорит вам кеш. На Itanium вам, вероятно, придется доплатить, чтобы найти его ;-) Martin Beckett 14 лет назад 0
0
Ryan Thompson

Если ничего не помогает, просто используйте / proc / cpuinfo или любой другой метод, чтобы найти номер модели вашего процессора, и найдите его в Google, чтобы найти спецификации.