Kommandot dmidecode i Linux tillåter användare att hämta känslig hårdvarurelaterad information direkt från kommandoraden. På så sätt kan användare få användbar information som serienummer och processorcachevärden utan att ta isär deras processorer.
I Linux är dmidecode känd som DMI-tabellavkodaren, och den avkodar helt enkelt hårdvaruinformation från SMBIOS (System Management BIOS) av ditt system. När den används försiktigt kan dmidecode ge en stor mängd intressant information.
Det är därför vi har sammanställt den här guiden som beskriver några av de mest fantastiska sakerna du kan göra med dmidecode. Fortsätt läsa för att behärska dessa kommandon grundligt.
dmidecode-kommandon för Linux Geeks
Vi kan få en uppsjö av information relaterad till systemet, bios, processor, minne, baseboard och andra viktiga hårdvarukomponenter med hjälp av dmidecode. Även om de flesta kommandon är ganska enkla och självförklarande, tycker nya användare ofta att de är svåra, främst på grund av ovana. Du kan kolla in kommandona nedan för att lära dig hur du använder dmidecode mer detaljerat.
1. Skriv ut hela DMI-informationen
Den enklaste tillämpningen av kommandot dmidecode ger all information som finns tillgänglig i din DMI-tabell (Desktop Management Interface). Detta kommando hämtar helt enkelt den binärkodade datan och avkodar den innan textvärdena presenteras i din Linux-terminalemulator.
$ sudo dmidecode
Du kommer att kräva sudo privilegium eller kan till och med använda ditt root-konto för att testa dessa kommandon. DMI-tabellen innehåller poster för mer än fyrtio typer. Varje typ innehåller vanligtvis information relaterad till en specifik hårdvarukomponent. Du kommer att veta mer om dem när du utvecklas.
2. Bläddra genom DMI-innehåll
Som du redan borde märka, att bara köra dmidecode ger mycket information. Det visar sig ofta vara svårt att utforska genom denna enorma mängd data och hitta den information vi är intresserade av. Lyckligtvis kan vi överföra denna data genom kommandon som mindre/mer och rulla över dem med viss kontroll.
$ sudo dmidecode | less $ sudo dmidecode | more
Vi tyckte att mindre var mer användbart eftersom vi sedan kan rulla över dmidecode-utgången med hjälp av PageUp och PageDown.
—
3. Undertryck opålitliga data
Eftersom DMI-tabellen innehåller många okända/icke-existerande poster, kanske användare vill minska dessa fält så mycket som möjligt. Tack och lov kan vi använda -q eller -tyst möjlighet att göra exakt detta. Ta en titt på nästa kommando för att se hur detta fungerar.
$ sudo dmidecode -q | less $ sudo dmidecode --quiet | less
Nu kommer dmidecode att bli mindre omfattande och utelämna mycket ospecificerad information. De flesta metadata och handtagsreferenser försvinner från dess utdata.
4. Dumpa DMI-innehåll i hexadecimalt format
Linux dmidecode tillåter användare att dumpa innehållet i DMI utan att avkoda dem. På så sätt får du hexadecimala data, vilket är användbart vid felsökning av CPU-problem. Observera att dmidecode inte kommer att mata ut binära data i sådana fall utan enkel text med hexadecimalt och ASCII-innehåll.
$ sudo dmidecode -u | less $ sudo dmidecode --dump | less
Så det är bara att lägga till -u eller –-dumpa alternativet att dmidecode kommer att göra det här jobbet. Du kan bläddra över utgången för att se hur den ser ut. Den bör innehålla både hex- och strängvärden.
5. Dump binär utdata
Du kan spara innehållet i din DMI-tabell i binärt format med hjälp av dmidecode. Detta kan vara till hjälp i ett antal situationer. För det första kan du flytta dina DMI-data mellan olika arbetsstationer och kanske inspektera dem senare. Ta en titt på illustrationen nedan för att förstå detta mer i detalj.
$ sudo dmidecode --dump-bin TEST
Nu kommer DMI-värdena att lagras i filen som kallas i ett binärt format. Du kan använda vanliga Linux-verktyg som katt och fil för att verifiera dessa data.
6. Läs lagrade data
Linux- och BSD-användare kan också hämta DMI-poster från förlagrade binära filer. Kommandot nedan visar hur man läser hårdvaruinformationen som sparats i det tidigare exemplet. Vi kommer att behöva använda –från-dump alternativet för att aktivera detta.
$ sudo dmidecode --from-dump TEST
Detta kommando säger åt dmidecode att läsa den binära filen och avkoda DMI-data som kodas i detta dokument. Det är ofta användbart för att felsöka äldre maskiner och många andra fall.
7. Ange enhetsfil
Som standard läser dmidecode minnesinformationen från filen /dev/mem. Detta är en systemfil på låg nivå som ger tillgång till det fysiska minnet på Linux-maskiner. Du kan säga åt dmidecode att läsa en annan enhetsfil med hjälp av -d eller –dev-mem alternativ.
$ sudo dmidecode -d FILE $ sudo dmidecode --dev-mem FILE
Vi rekommenderar dock inte att du använder olika enhetsfiler om du inte vet vad du ger dig in på. Det är fortfarande ett alternativ, det är allt.
8. Display System Tillverkare
En av de enklaste men mest användbara användningarna av dmidecode kan illustreras med ett enkelt exempel. Du kan skriva ut namnet på din systemtillverkare med hjälp av -s eller -sträng alternativ. Ta en titt på nästa exempel för att se hur detta fungerar.
$ sudo dmidecode -s system-manufacturer $ sudo dmidecode --string system-manufacturer
Så genom att skicka nyckelordet systemtillverkare som argument till -s, vi får namnet på systemtillverkaren.
9. Visa produktnamn
Följande kommando visar en annan användning av ovanstående alternativ och skriver ut namnet på din systemprodukt. Till exempel kommer detta kommando att skriva ut modellnumret på din bärbara dator.
$ sudo dmidecode -s system-product-name $ sudo dmidecode --string system-product-name
Vi kan också få dessa data med hjälp av dmidecode-typer och filtrera bort irrelevant information med kommandot Linux grep. Prova att använda det här kommandot för att hämta modellnumret själv.
10. Visa serienummer
En standardanvändning av kommandot dmidecode är att skriva ut serienumret på ditt system. Du kan enkelt hämta serienumret på dina bärbara datorer med följande dmidecode-kommando.
$ sudo dmidecode -s system-serial-number $ sudo dmidecode --string system-serial-number
Detta kommando skriver ut serienumret på min Sony VAIO Notebook. Det borde fungera utan ansträngning med andra modeller också.
11. Visa System UUID
UUID är en universellt unik identifierare som används för systemidentifiering och andra uppgifter. Du kan använda dmidecode för att skriva ut ditt system-UUID utan ansträngning. Ta en titt på kommandot nedan för att se hur detta fungerar i detalj.
$ sudo dmidecode -s system-uuid $ sudo dmidecode --string system-uuid
Så du behöver bara skicka nyckelordet system-uuid som argument till -sträng parameter för att få UUID-värdet.
12. Visa BIOS-leverantör
BIOS (Basic Input Output System) ansvarar för initieringen av våra maskiner vid uppstart. Det finns flera populära BIOS-leverantörer där ute, inklusive , , och .
Verktyget dmidecode tillåter också användare att skriva ut namnet på BIOS-leverantören, som visas nedan.
$ sudo dmidecode -s bios-vendor $ sudo dmidecode --string bios-vendor
När jag kör det här kommandot på min arbetsstation visar det att mitt BIOS har utvecklats av Insyde Corp.
13. Visa BIOS-version
BIOS-versionen är användbar information för många användare eftersom det är svårt att utföra vissa BIOS-specifika operationer utan att veta detta. Det är ofta användbart när man ska fastställa BIOS-uppdateringar och så vidare. Följande kommando illustrerar hur du hämtar denna information med dmidecode.
$ sudo dmidecode -s bios-vendor $ sudo dmidecode --string bios-vendor
Detta är ett användbart kommando med många praktiska användningsfall. Så ta en ordentlig titt på det.
14. Visa BIOS Releasedatum
Vi illustrerar nu användningen av dmidecode för att hämta releasedatumet för ditt systems BIOS. Denna information kommer att vara användbar för användare som vill uppdatera eller modifiera sin firmware manuellt.
$ sudo dmidecode -s bios-release-date $ sudo dmidecode --string bios-release-date
Till exempel har jag precis fått reda på att min VAIO-dator har ganska ny firmware som använder det här kommandot. Kolla din också och se själv.
15. Visa bastavlans namn
Moderkortet eller moderkortet är en av de mest avgörande hårdvarukomponenterna i ditt system. Det är också känt som baseboard och systemkort. Du kan skicka nyckelordet baseboard-produktnamn som ett argument till -sträng parameter för att få denna information.
$ sudo dmidecode -s baseboard-product-name $ sudo dmidecode --string baseboard-product-name
Annan användbar moderkortsrelaterad information som tillhandahålls av kommandot dmidecode är serienummer, version och tillgångstagg.
16. Display baseboard leverantör
Liksom BIOS-tillverkaren ger dmidecode oss också leverantörsnamnet för vårt moderkort. Ta en snabb titt på illustrationen nedan för att se hur detta fungerar.
$ sudo dmidecode -s baseboard-manufacturer $ sudo dmidecode --string baseboard-manufacturer
Så du kan ta tag i namnet på din moderkortstillverkare genom att helt enkelt passera baseboard-tillverkare nyckelord som argument för -s eller -sträng. Kom ihåg att prefixet ditt kommando med sudo, annars fungerar det inte.
17. Visa baskortets serienummer
Serienumret på din baseboard är en unik identifierare och kan komma till användning vid felsökning av hårdvaruproblem. Du kan enkelt ta tag i denna serie med dmidecode och använda denna information för att se om din produkt är äkta eller inte.
$ sudo dmidecode --string baseboard-serial-number
Men många äldre system kanske inte innehåller detta värde i sin DMI-tabell, och i det här fallet kan dmidecode inte ge svaret.
18. Bildskärmsprocessorfamilj
Processorer är kärnkomponenten i vårt system. De är vanligtvis grupperade efter funktioner och nivåer. Du kan enkelt ta reda på processorfamiljen med hjälp av dmidecode. Ta en närmare titt på nästa exempel för att se detta i aktion.
$ sudo dmidecode -s processor-family $ sudo dmidecode --string processor-family
Till exempel har jag precis verifierat att min arbetsstation drivs av en processor som tillhör Intel Core i7-familjen. Prova detta själv och kontrollera om du får det förväntade resultatet.
19. Displayprocessormodell
Som vi redan har diskuterat är processorfamiljen en generaliserad grupp och ger oss inte det exakta modellnumret. Lyckligtvis kan du använda verktyget dmidecode för att ta reda på den exakta modellen av din processor. Se exemplet nedan för att lära dig hur detta fungerar.
$ sudo dmidecode -s processor-version $ sudo dmidecode --string processor-version
Så vi behöver bara skicka nyckelordet processorversion som värdet av -s eller -sträng parameter. Du bör få en exakt modell av din processor.
20. Visa processorfrekvens
Processorns klockfrekvens eller frekvens är avgörande för dess prestanda. Vanligtvis ökar prestandan med en ökning av frekvensen. Tillverkare ställer normalt in sina produkter så att processorhastigheten hålls runt en bashastighet, som ofta är lägre än processorns kapacitet.
$ sudo dmidecode -s processor-frequency $ sudo dmidecode --string processor-frequency
Med kommandot Linux dmidecode kan vi hämta mer information om processorn. När du fortsätter kommer du att lära dig mer om dem.
21. Visa systemegenskaper
Vi kan också dumpa DMI-poster baserat på deras typ. DMI-tabellen innehåller 42 olika DMI-typer, som var och en representerar komponenter som chassi, processor, minne, etc. Ta en titt på nästa exempel och se hur du hämtar systemegenskaper från SMBIOS med hjälp av typer.
$ sudo dmidecode -t 1 $ sudo dmidecode --type system
De -t eller -typ alternativet kan ta antingen ett nyckelord eller ett typ-id. Det finns flera typer av ID:n för flera komponenter. Till exempel har systemtypen ID 1, 12, 15, 23 och 32. Typ 12 representerar systemkonfigurationsalternativ, 15 representerar systemhändelselogg, 23 representerar systemåterställning och systemstart representeras av 32.
22. Visa Baseboard-egenskaper
Baskortegenskaperna representeras av DMI-typerna 2, 10 och 41. Typ 2 ger övergripande baskortegenskaper, medan de två sistnämnda ger information om inbyggda enheter.
$ sudo dmidecode --type 2 $ sudo dmidecode --type baseboard
Det finns dock en liten skillnad i utdata som produceras av ovanstående kommandon. När typ-ID används, tillhandahåller dmidecode de exakta DMI-posterna för den typen. Men när du använder typnyckelordet visas alla DMI-poster som är associerade med det nyckelordet.
23. Visa processoregenskaper
Kommandon nedan illustrerar hur man hämtar processorinformation med hjälp av DMI-typer. Processortypen har bara en typ av ID, nämligen 4. Så det är ganska enkelt att hämta.
$ sudo dmidecode --type 4 $ sudo dmidecode --type processor
Vi får mycket information om processorn, som processorfamiljen, tillverkare, typ, modell, aktiva flaggor och så vidare. Du kommer också att ta reda på den maximala frekvensen som stöds av din processor och dess för närvarande inställda värde från denna utgång.
24. Visa minnesegenskaper
Minneskomponenterna inkluderar Memory Controller, Memory Module, Physical Memory Array och Memory Devices. De har följande DMI-typer, respektive – 5, 6, 16, 17. Ta en titt på hur vi hämtar minnesegenskaper med hjälp av dmidecode-typer.
$ sudo dmidecode --type memory
Detta kommando ger information om antalet installerade RAM, deras formfaktor, typ, storlek, busshastighet och många fler. Många SMBIOS tillhandahåller inte förväntad data när typ-ID:n används. Därför rekommenderar vi att du använder typidentifieraren för detta kommando.
25. Visa egenskaper för cache
Cachen är en av de viktigaste delarna av ditt system. Även om du kanske inte vet detta, har cachehastigheter större inverkan på prestanda än bearbetningsfrekvens. Moderna processorer har vanligtvis flera cacher uppdelade i olika nivåer.
Vi kan enkelt ta tag i cache-egenskaperna för Linux-maskiner med hjälp av dmidecode-kommandot nedan.
$ sudo dmidecode --type 7 $ sudo dmidecode --type cache
Båda dessa kommandon ger användbar information om cacher, såsom deras storlekar, associativitet, konfiguration och många fler.
26. Visa chassiegenskaper
Chassiegenskaperna kommer väl till pass när du planerar systemuppgraderingar eller vill felsöka potentiella hårdvaruproblem. Liksom andra systemkomponenter kan vi även hämta chassiegenskaper med hjälp av dmidecode-typen. Du kan antingen använda nyckelordet för chassi eller dess typ, som är 3.
$ sudo dmidecode --type 3 $ sudo dmidecode --type chassis
De tillhandahåller mycket information, såsom chassityp, tillverkare, seriell, startstatus, termisk status och så vidare. Ingen av SMBIOS innehåller dock korrekt chassidata. Så se till att verifiera dessa uppgifter.
27. Visa OEM-strängar
Du kan skriva ut ditt systems OEM-strängar med dmidecode. Dessa är friformsdata som lagras av SMBIOS och kan ändras efter firmwareuppdateringar. Ta en titt på följande kommandon för att se dem i aktion.
$ sudo dmidecode --type 11
Det finns inget fördefinierat nyckelord för denna DMI-typ. Så du måste använda typ-id istället. OEM-värden innehåller vanligtvis information om den ursprungliga systemtillverkaren.
28. Visa minnets fysiska omfång
En fascinerande egenskap hos dmidecode är att den tillåter oss att visualisera hela det fysiska utbudet av dina DIMM-minnen. Du kan använda typ-ID 20 för det. Den representerar DMI-posten Memory Device Mapped Address.
$ sudo dmidecode --type 20
Om du kör det här kommandot visas hela det fysiska området för DIMM-modulerna tillsammans med deras handtag, radpositioner och interfolierade positioner. Det finns inget specificerat nyckelord för den här typen, så du måste använda id här.
29. Visa startstatus
Startstatusen för ditt system innehåller användbar information som förekomsten av fel och så vidare. Det är ofta en bra idé att kontrollera din startstatus när du felsöker problem som systemstartfel, automatisk avstängning och sådant. Exemplet nedan använder dmidecode-typer för att utföra detta jobb.
$ sudo dmidecode --type 32
Du kan också få denna information med hjälp av systemnyckelordet. Det resultatet kommer dock att innehålla mer ytterligare information.
30. Visa kärn- och trådantal
Moderna processorer tillhandahåller flera kärnor och trådar för bättre utnyttjande av CPU-resurser. Kärnan är en faktisk hårdvarukomponent, medan tråden är en virtuell komponent. Processorer tillåter multi-tasking förmågor med dessa komponenter.
Kommandot nedan dmidecode hämtar antalet processorkärnor och trådar som är tillgängliga i din maskin.
$ sudo dmidecode --type 4 | grep -iw count
Du bör få ett tydligt resultat efter att ha kört detta kommando. Vi har helt enkelt använt kommandot Linux grep för att filtrera bort informationen vi är intresserade av.
31. Visa processorhastigheter
Linux- och BSD-användare kan använda dmidecode för att skriva ut hastigheten på sina processorer. Processorer har vanligtvis hastigheter i MHz eller GHz. Systemtillverkare trimmar ofta ner processorhastigheten för att förhindra överhettning och sådant.
Kommandot nedan skriver ut den maximala hastigheten som stöds av din processor och dess aktuella hastighet.
$ sudo dmidecode --type 4 | grep -i speed
Denna information kan vara användbar om du vill överklocka din processor eller felsöka uppvärmningsproblem. Du bör dock aldrig överklocka om du inte vet vad du ger dig in på.
32. Visa startalternativ
Linux-starthanterare är ansvariga för att starta ditt system enligt starttabellen. Moderna operativsystem erbjuder flera uppstartsalternativ, som USB-start, CD-start och nätverksstart. Du kan använda verktyget dmidecode för att ta reda på vilka startalternativ som stöds av ditt BIOS.
$ sudo dmidecode --type 0 | grep -i boot
Ovanstående kommando meddelar mig att mitt BIOS stöder valbar start, start från CD/USB och nätverksstart. Prova detta kommando i din favorit Linux-terminal för att se din.
33. Visa cachestorlekar
Moderna processorer innehåller flera nivåer av cacher. Cacher på lägre nivå är snabbare men mindre, och cacher på högre nivå är större men betydligt långsammare. Du kan använda dmidecode för att skriva ut dina cachenivåer och storlekar. Ta en titt på kommandot nedan för att se detta i aktion.
$ sudo dmidecode --type 7 | grep -i size
Detta kommando visar den installerade storleken och maximala storleken på dina processorcachar. Du kan ersätta grep med storleksparametern för att få mer specifik data. Besök den här guiden för att lära dig mer om Linux grep-kommandon.
34. Visa RAM-hastigheter
RAM eller minne är en av de mest avgörande delarna i alla system. Många användare installerar inte lämpliga RAM-moduler för sitt system. Detta resulterar i en prestationsminskning. Använd kommandot nedan dmidecode för att se dina RAM-hastigheter.
$ sudo dmidecode --type 17 | grep -i speed
Den kommer att ge information om antalet tillgängliga RAM-platser, maximal hastighet som stöds och för närvarande konfigurerad hastighet. Så om du funderar på att uppgradera ditt minne, kontrollera snabbt ditt nuvarande minne och fattar sedan dina beslut.
35. Visa maximal RAM-kapacitet
De flesta system kan bara hysa en begränsad mängd RAM. Det är nödvändigt att veta den maximala RAM-kapaciteten som stöds av ditt system om du vill uppgradera din version senare. Följande dmidecode-exempel kan användas för att hämta denna kapacitet från ditt favorit Linux-skal.
$ sudo dmidecode --type 16 | grep -i maximum
Detta är ett mycket enkelt men effektivt exempel på dmidecode. Användare kan lära sig mycket om sitt system med dessa användbara kommandon när de startar Linux.
36. Visa installerad RAM-kapacitet
I det tidigare exemplet lärde vi oss att se den maximala RAM-kapaciteten som stöds av vår maskin. Exemplet nedan visar hur du hittar storleken på det för närvarande installerade RAM-minnet.
$ sudo dmidecode --type 17 | grep -i size
Detta kommando kommer att visa dig den för närvarande installerade RAM-kapaciteten i dina minneskortplatser. De flesta system tillhandahåller vanligtvis mer än en RAM-plats. Så du kan enkelt bestämma mängden extra RAM som din maskin stöder. Om någon av kortplatserna inte har något RAM installerat får du ett meddelande om att ingen modul har installerats.
37. Visa chassiets serienummer
Serienumret på ditt chassi fungerar som en unik identifierare. Du kan se detta nummer mycket enkelt genom att använda följande kommandon.
$ sudo dmidecode --string chassis-serial-number $ sudo dmidecode --type 3 | grep -i serial
Så du kan använda antingen -sträng parametern eller -typ parameter. Kommandot grep är användbart för att filtrera bort information från stora DMI-utgångar.
38. Visa dmidecode-version
Du kan använda följande terminalkommando för att inspektera ditt dmidecode-versionsnummer. Nya användare kan använda det här kommandot för att verifiera om dmidecode är tillgänglig från deras nuvarande sökväg.
$ dmidecode --version
Eftersom de flesta moderna Linux-distributioner kommer med dmidecode, bör ditt system redan ha det installerat.
39. Visa manualsidan
Mansidan för dmidecode innehåller all information som krävs för att bemästra detta verktyg. Du kan hitta listan över alla parametrar och typer som stöds här. Du bör ta en titt på den här manualen för en djupgående förklaring av hur dmidecode fungerar.
$ man dmidecode
Manualen är också tillgänglig från internet. Det kan dock finnas vissa skillnader mellan Linux- och BSD-versioner. Så vi uppmuntrar dig att använda kommandot man istället.
40. Visa hjälpsidan
Hjälpsidan innehåller en kortfattad lista över alla parametrar som stöds och deras användning. Detta är praktiskt om du vill ha en snabb överblick över de tillgängliga alternativen.
$ dmidecode --help
Det kommer att ge dig sammanfattad information om alla parametrar som stöds av dmidecode-verktyget.
Avslutande tankar
Linux dmidecode-kommandon är användbara i ett antal situationer, inklusive maskinvarufelsökning och uppgraderingar. Informationen från dmidecode är dock inte alltid korrekt. Det kan ofta tillhandahålla okända, inaktiva eller OEM-specifika poster som inte är användbara av vanliga användare.
Vi har gjort vårt bästa för att peka ut de kommandon som fungerar bäst i praktiskt administrationsarbete. Dessutom kräver dmidecode sudo privilegier eftersom den interagerar med DMI-tabellen direkt. Du kan byta till root-användaren om du inte vill skriva in sudo varje gång.
Vänligen lämna oss dina kommentarer angående den här guiden, och fortsätt komma tillbaka för fler Linux-terminalkommandon.