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

3

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

StudioHack
источник

Ответы:

4

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

В последних ядрах 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).

CesarB
источник
1

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

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

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

Райан Томпсон
источник