Linux systeeminformatie via de command-line opvragen

Op een computer met Linux kun je eenvoudig allerlei systeeminformatie opvragen via de command-line (cli, of opdrachtprompt). Dit is belangrijk zodat je precies weet welke kernel modules geladen moeten worden, of welke displaydriver in jouw X-configuratie. In dit artikel geef ik je wat praktische voorbeelden.

dmidecode, of DMI table decoder

Het dmidecode commando is waarschijnlijk één van de meest bekende en gebruikte opdrachten om systeeminformatie op te vragen. Informatie over jouw Linux systeem, zoals het type moederbord, BIOS-versie, CPU socket en familie, RAM geheugen, harde schijven, enzovoorts.

Je gebruikt het eenvoudig op de command-line (opdrachtprompt of cli).

Uit de manpage:

dmidecode is a tool for dumping a computer's DMI (some say SMBIOS) table contents in a human-readable format. This table contains a description of the system's hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision. Thanks to this table, you can retrieve this information without having to probe for the actual hardware.
...
SMBIOS stands for System Management BIOS, while DMI stands for Desktop Management Interface. Both standards are tightly related and developed by the DMTF (Desktop Management Task Force).

Gelukkig kent dmidecode ook een aantal parameters, waaronder -s. Met de -s parameter geef je aan te willen zoeken naar een string keyword.

Toegepast op mijn huidige laptop geeft dit:

[root@office-nb jan]# dmidecode -s 
dmidecode: option requires an argument -- 's'
String keyword expected
Valid string keywords are:
  bios-vendor
  bios-version
  bios-release-date
  system-manufacturer
  system-product-name
  system-version
  system-serial-number
  system-uuid
  baseboard-manufacturer
  baseboard-product-name
  baseboard-version
  baseboard-serial-number
  baseboard-asset-tag
  chassis-manufacturer
  chassis-type
  chassis-version
  chassis-serial-number
  chassis-asset-tag
  processor-family
  processor-manufacturer
  processor-version
  processor-frequency

Om systeem- en BIOS-informatie op te vragen gebruik je eenvoudigweg:

# dmidecode -s bios-vendor
Hewlett-Packard
# dmidecode -s bios-version
68IAV Ver. F.50
# dmidecode -s system-product-name
HP EliteBook 8570w

en processor informatie:

# dmidecode -s processor-version
Intel(R) Core(TM) i7-3840QM CPU @ 2.80GHz

Ja inderdaad, veel van deze informatie vind je ook in dmesg.

Met de -t parameter vraag je systeeminformatie op per type. Bijvoorbeeld memory (wat informatie weggelaten)

# dmidecode -t memory
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0005, DMI type 16, 23 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 32 GB
	Error Information Handle: Not Provided
	Number Of Devices: 4

Handle 0x0006, DMI type 17, 34 bytes
Memory Device
	Array Handle: 0x0005
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 4096 MB
	Form Factor: SODIMM
	Set: None
	Locator: Bottom-Slot 2(right)
	Bank Locator: BANK 0
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1600 MHz
	Manufacturer: Micron
	Serial Number: <intentionally left blank> 
	Asset Tag: <intentionally left blank> 
	Part Number: <intentionally left blank> 
	Rank: Unkn<intentionally left blank> own
	Configured Clock Speed: <intentionally left blank> 

Handle 0x0008, DMI type 17, 34 bytes
Memory Device
	Array Handle: 0x0005
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 4096 MB
	Form Factor: SODIMM
	Set: None
	Locator: Top - Slot 2 (under)
	Bank Locator: BANK 1
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1600 MHz
	Manufacturer: Hynix/Hyundai
	Serial Number: <intentionally left blank> 
	Asset Tag: <intentionally left blank> 
	Part Number: <intentionally left blank> 
	Rank: <intentionally left blank> 
	Configured Clock Speed: <intentionally left blank> 

Handle 0x000A, DMI type 17, 34 bytes
Memory Device
	Array Handle: 0x0005
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 4096 MB
	Form Factor: SODIMM
	Set: None
	Locator: Bottom-Slot 1(left)
	Bank Locator: BANK 2
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1600 MHz
	Manufacturer: Micron
	Serial Number: <intentionally left blank> 
	Asset Tag: <intentionally left blank> 
	Part Number: <intentionally left blank> 
	Rank: <intentionally left blank> 
	Configured Clock Speed: <intentionally left blank> 

Handle 0x000C, DMI type 17, 34 bytes
Memory Device
	Array Handle: 0x0005
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 4096 MB
	Form Factor: SODIMM
	Set: None
	Locator: Top - Slot 1 (top)
	Bank Locator: BANK 3
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1600 MHz
	Manufacturer: Hynix/Hyundai
	Serial Number: <intentionally left blank> 
	Asset Tag: <intentionally left blank> 
	Part Number: <intentionally left blank> 
	Rank: <intentionally left blank> 
	Configured Clock Speed: <intentionally left blank>

Hieruit kun je afleiden dat mijn laptop beschikt over 4 SODIMM’s van 4 GB DDR3 1600 MHz geheugen.

Interessant voor jou:  PHP optimaliseren op Windows Server IIS

Andere opties zijn: bios, system, baseboard, chassis, processor, memory, cache, connector, slot.

dmidecode moet uitgevoerd worden als root of met sudo.

Videokaart informatie via ‘lspci’, en andere PCI-apparaten

Je lspci gebruiken voor het opvragen van welke PCI-apparaten er zich in jouw computer bevinden. Bijvoorbeeld de videokaart:

$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K2000M] (rev a1

Yep, ik werk nog met dezelfde laptop als in 2013 toen ik Debian 7.0 installeerde op deze laptop :-) .

Gebruik alleen lspci om alle PCI devices weer te geven.

lscpu en /proc/cpuinfo, CPU architectuur weergeven

De opdracht lscpu is vergelijkbaar met lspci, alleen geeft het beknopte informatie weer over jouw CPU:

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 58
Model name:            Intel(R) Core(TM) i7-3840QM CPU @ 2.80GHz
Stepping:              9
CPU MHz:               1488.183
CPU max MHz:           3800.0000
CPU min MHz:           1200.0000

Voor het gemak een beetje geknipt in de uitvoer.

Je verkrijgt deze en vergelijkbare informatie ook vanuit het proc pseudo-bestandssysteem met cat. Je krijgt dan de info per core:

$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 58
model name	: Intel(R) Core(TM) i7-3840QM CPU @ 2.80GHz
stepping	: 9
microcode	: 0x1c
cpu MHz		: 1250.976
cache size	: 8192 KB
physical id	: 0
siblings	: 8
core id		: 0
cpu cores	: 4
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 sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts
bugs		:
bogomips	: 5587.63
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
[...]
processor	: 2
vendor_id	: GenuineIntel

En uiteraar met dmidecode --type processor.

Op Tweaking4All.nl vind je meer handige tips.

Interessant voor jou:  "Hard refresh" van webpagina's in Chrome

Volg ons:
0 antwoorden

Plaats een Reactie

Meepraten?
Draag gerust bij!

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *