Tips en Trucs 2016

Processor informatie

Processors hebben verschillende eigenschappen (kenmerken); zoals de fabrikant, naam, kloksnelheid, aantal rekeneenheden, cache configuratie, mogelijkheden (hardware virtualisatie, AES, MMX en SSE), enz. Linux heeft dan ook verschillende hulpmiddelen (zowel grafische als terminalopdrachten) om gedetailleerde informatie over de CPU in uw systeem weer te geven.

/proc/cpuinfo

De eenvoudigste methode is het bekijken van de /proc/cpuinfo informatie. Dit virtuele bestand toont de configuratie van de aanwezige CPU hardware.

dany@laptop:~> more /proc/cpuinfo 
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 69
model name      : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping        : 1
microcode       : 0x1c
cpu MHz         : 1600.031
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse
2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmpe
rf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_de
adline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsba
se tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs            :
bogomips        : 4788.81
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

...

processor       : 3
vendor_id       : GenuineIntel
cpu family      : 6
model           : 69
model name      : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping        : 1
microcode       : 0x1c
cpu MHz         : 900.000
cache size      : 4096 KB
physical id     : 0
siblings        : 4
core id         : 1
cpu cores       : 2
apicid          : 3
initial apicid  : 3
fpu             : yes
fpu_exception   : yes
cpuid level     : 13
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse
2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmpe
rf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_de
adline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsba
se tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt
bugs            :
bogomips        : 4788.81
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

De inhoud van dit bestand leert ons hoeveel processors het systeem bevat, het aantal rekeneenheden (cores) per processor, de CPU mogelijkheden (flags) en nog veel meer.

dmidecode

De dmidecode opdracht verzamelt gedetailleerde hardware informatie uit de DMI data van de BIOS. De CPU informatie bevat de fabrikant, versie, CPU mogelijkheden (flags), maximum en huidige kloksnelheid, de actieve rekeneenheden (cores), cache configuraties, enz.

dany@laptop:~> sudo dmidecode
root's password:
# dmidecode 2.12
# SMBIOS entry point at 0xdce13000
SMBIOS 2.7 present.
71 structures occupying 2680 bytes.
Table at 0xDCE12000.

Handle 0x0000, DMI type 4, 42 bytes
Processor Information
        Socket Designation: CPU Socket - U3E1
        Type: Central Processor
        Family: Core i7
        Manufacturer: Intel(R) Corporation
        ID: 51 06 04 00 FF FB EB BF
        Signature: Type 0, Family 6, Model 69, Stepping 1
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (FXSAVE and FXSTOR instructions supported)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Multi-threading)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
        Voltage: 0.7 V
        External Clock: 100 MHz
        Max Speed: 1800 MHz
        Current Speed: 1800 MHz
        Status: Populated, Enabled
        Upgrade: Socket rPGA988B
        L1 Cache Handle: 0x0002
        L2 Cache Handle: 0x0003
        L3 Cache Handle: 0x0004
        Serial Number: None
        Asset Tag: None
        Part Number: None
        Core Count: 2
        Core Enabled: 2
        Thread Count: 4
        Characteristics:
                64-bit capable
...

lscpu

De lscpu opdracht vat de /proc/cpuinfo inhoud samen in een gebruiksvriendelijker formaat en bevat onder andere het aantal (online/offine) CPU's en rekeneenheden (cores), voeten (sockets) en NUMA nodes.

dany@laptop:~> lscpu
Architectuur:          x86_64
CPU-modus(sen):        32-bit, 64-bit
Bytevolgorde:          Little Endian
CPU('s):               4
Online CPU('s)-lijst:  0-3
Draden per kern:       2
Kern(en) per voet:     2
CPU-voet(en):          1
NUMA-node(s):          1
Producent-ID:          GenuineIntel
CPU-familie:           6
Model:                 69
Modelnaam:             Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
Stepping:              1
CPU-frequentie (MHz):  800.062
max. CPU-frequentie (MHz):3000,0000
min. CPU-frequentie (MHz):800,0000
BogoMIPS:              4788.81
Virtualisatie:         VT-x
L1d-cache:             32K
L1i-cache:             32K
L2-cache:              256K
L3-cache:              4096K
NUMA-node0 CPU('s):    0-3

numactl

Ontwikkeld voor het instellen van de NUMA organisatie (sheduling) en geheugen optimalisatie (placement policy) van Linux processen, toont numactl ook informatie over de NUMA topologie van de CPU hardware.

dany@laptop:~> numactl --hardware
available: 1 nodes (0)
node 0 cpus: 0 1 2 3
node 0 size: 7899 MB
node 0 free: 6390 MB
node distances:
node   0 
  0:  10

hardinfo

Hardinfo is een grafisch informatieprogramma waarbij de CPU informatie samengevat wordt weergegeven. Ook andere hardware informatie wordt overzichtelijk weergegeven. Dit programma is beschikbaar in de standaard softwarebron van openSUSE Leap 42.1, maar moet je zelf nog installeren.
Hardinfo

lstopo

Het lstopo programma visualiseert de topologie van uw systeem, dit bestaat uit CPU's, cache, geheugen en In/Uitvoer apparaten. Het identificeert de processor architectuur en de NUMA topologie van uw systeem. Ook lstopo moet je in openSUSE Leap 42.1 installeren van uit de standaard softwarebron.
lstopo