Suchen Sie nach einem Befehl, um die L3-Cachegröße auf einem Unix-System zu überprüfen

3629
studiohack

Ich suche nach einem Befehl, um auf einem Unix-System die L3-Cachegröße auf dem Chip zu überprüfen.

3

4 Antworten auf die Frage

4
André Laszlo

Werfen Sie einen Blick auf dmidecode, der eine ausgezeichnete Manpage hat.

Suchen Sie nach einem Eintrag mit dem Namen "Prozessorinformationen".

Handle 0x0004, DMI type 4, 35 bytes Processor Information ... L1 Cache Handle: 0x0008 L2 Cache Handle: 0x0009 L3 Cache Handle: Not Provided ... 

Dies sagt mir, dass ich nach dem Handle 0x0009 suchen muss (für L2-Cache, da ich kein L3 habe). Dies lautet:

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

Bei aktuellen Linux-Kerneln, die auf der x86-Architektur ausgeführt werden, können Sie wahrscheinlich die gewünschten Informationen finden /sys/devices/system/cpu/cpu#/cache(ersetzen Sie die #durch die CPU-Nummer). Beispielsweise auf diesem Computer (der keinen L3-Cache hat):

$ 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 

Dies entspricht einem L1-Datencache von 64 K, einem L1-Befehls-Cache von 64 K und einem L2-Befehl + Daten-Cache von 512 K. Beachten Sie, dass dies detaillierter ist als /proc/cpuinfo, was nur sagt cache size : 512 KB. Es gibt mehrere andere Dateien in diesen cache/index#Verzeichnissen, die noch detaillierter sind.

Bitte lesen Sie Documentation/ABI/READMEund Documentation/ABI/testing/sysfs-devices-system-cpubevor Sie diese Dateien verwenden; Insbesondere scheinen sie kein stabiler ABI zu sein und könnten daher in der Zukunft fehlen. Sie stammen aus arch/x86/kernel/cpu/intel_cacheinfo.c, die verwendet werden cpuid, um die Informationen direkt abzurufen (was bedeutet, dass sie, falls vorhanden, zuverlässiger sein sollten dmidecode).

1
Martin Beckett

Schau '/ proc / cpuinfo'

Hilft nicht - hier ist die Ausgabe des Befehls: Prozessor: 7 Hersteller: GenuineIntel-Archiv: IA-64-Familie: Itanium 2-Modell: 2-Version: 1-Version: 0 Funktionen: Branchlong-CPU-Nummer: 0 CPU-Regs: 4 CPU-MHz: 1500.000000 itc MHz: 1500.000000 BogoMIPS: 2239.75 Geschwister: 1 vor 15 Jahren 0
Außerdem ist procfs ein Linux (nicht UNIX) -Ding und FreeBSD zum Beispiel hat es nur mit der Linux-kompatiblen Software installiert. Joey vor 15 Jahren 0
Ich dachte, es war eine Unix-Sache, es ist schon 10 Jahre her, seit ich das letzte Mal mit kommerziellem Unix gearbeitet habe (ich vermisse Sun). Auf meinem Pentium und Core Duo wird der Cache angezeigt. Auf einem Itanium müssen Sie wahrscheinlich extra bezahlen, um es zu finden ;-) Martin Beckett vor 15 Jahren 0
0
Ryan Thompson

Wenn alles andere fehlschlägt, verwenden Sie einfach / proc / cpuinfo oder eine andere Methode, um die Modellnummer Ihres Prozessors zu finden, und suchen Sie bei google nach den Spezifikationen.