Je bent hier: ITFAQ.nl » Hoe kan ik? » Linux systeeminformatie via de command-line opvragen

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 laat ik je zien hoe je informatie over jouw Linux systeem kunt inzien en 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), net zoals je WMIC kunt gebruiken om Windows systeeminformatie op te vragen.

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
Code language: Bash (bash)

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

# dmidecode -s bios-vendor Hewlett-Packard
Code language: Bash (bash)
# dmidecode -s bios-version 68IAV Ver. F.50
Code language: Bash (bash)
# dmidecode -s system-product-name HP EliteBook 8570w
Code language: Bash (bash)

en CPU/processor informatie:

# dmidecode -s processor-version Intel(R) Core(TM) i7-3840QM CPU @ 2.80GHz
Code language: Bash (bash)

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

Met de -t parameter vraag je informatie van het Linux-systeem 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>
Code language: Bash (bash)

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

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
Code language: Bash (bash)

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
Code language: Bash (bash)

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 CPU-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
Code language: Bash (bash)

En uiteraard met dmidecode --type processor. In tegenstelling tot dmidecode kun je cat /proc/cpuinfo, en lscpu gebruiken binnen Windows Subsystem for Linux 2 (WSL2).

Op Tweaking4All.nl vind je meer handige tips.

1 reactie op “Linux systeeminformatie via de command-line opvragen”

Geef een reactie