GNU/Linux >> Linux Esercitazione >  >> Linux

Strumenti Linux:esame dell'hardware nel terminale con dmidecode

Il decodificatore di tabelle DMI è uno strumento da riga di comando per i sistemi Linux. Viene comunemente utilizzato per tradurre la tabella DMI di una macchina (System Management BIOS o SMBIOS) in un formato leggibile dall'uomo. Questo strumento consente di visualizzare informazioni aggiuntive sulla configurazione hardware di un sistema e fornisce anche informazioni non direttamente correlate alla build corrente. È possibile trovare informazioni come la quantità massima di memoria supportata o il tipo di CPU più veloce supportato utilizzando alcuni indicatori chiave.

Applicazione pratica

Da un punto di vista pratico, potresti imbatterti in situazioni in cui è necessario un numero di serie o un'informazione hardware chiave durante la risoluzione dei problemi. Ai miei tempi come ingegnere dello storage, mi sono imbattuto in più istanze in cui un cliente acquistava un server di edizione virtuale e poi provava a eseguire enormi quantità di backup dei dati o replica su questa macchina. A seconda delle dimensioni dei lavori, a volte sovraccaricano la memoria inclusa e superano lo spazio di scambio. A sua volta, questo problema farebbe sì che Killer Out-of-Memory (OOM) abbia una giornata campale con il sistema. Quindi, invece di cercare le specifiche hardware in un manuale, potrei usare dmidecode per afferrare queste informazioni.

Il guasto

Prima di tutto, tutte le seguenti informazioni possono essere trovate nelle pagine man dello strumento eseguendo man dmidecode . Sentiti libero di seguirlo. Al livello più elementare, ogni record ha uno dei seguenti (come elencato nella pagina man): 

Handle - Si tratta di un identificatore univoco, che consente ai record di fare riferimento a vicenda. Ad esempio, i record del processore di solito fanno riferimento a record di memoria  cache utilizzando i relativi handle.

Tipo - La specifica SMBIOS definisce diversi tipi di elementi di cui un computer può essere composto. Ad esempio, il tipo 2 si riferisce a "Informazioni sulla scheda di base".

Size - Ogni record ha un'intestazione di 4 byte (2 per l'handle, 1 per il tipo, 1 per la dimensione), il resto viene utilizzato dai dati del record. Questo valore non tiene conto delle stringhe di testo (queste sono poste alla fine del record), quindi la lunghezza effettiva di un record può essere (ed è spesso) maggiore del valore visualizzato

Valore decodificato - Le informazioni presentate ovviamente dipendono dal tipo di record. Qui impariamo il produttore, il modello, la versione e il numero di serie della scheda.

Puoi vedere un elenco di esempio qui:

Ci sono molte opzioni che possono essere utilizzate per creare un output più preciso. Non li tratterò tutti qui, ma sono presentati chiaramente utilizzando la pagina man. Quello di cui parlerò sono i codici di tipo DMI inclusi nel comando per rendere rapidamente accessibili informazioni specifiche. Tornando al mio esempio precedente, ricorderai che di routine abbiamo avuto problemi con gli errori OOM. Per raccogliere informazioni sulla configurazione della memoria di un sistema, puoi utilizzare il seguente comando: 

$ dmidecode -t x

dove x è uguale al codice di tipo numerico che desideri raccogliere. Per questo esempio, i codici 5, 6, 16 e 17 sarebbero tutti utili da raccogliere. Vedi il grafico completo della pagina man di seguito per tutti i codici di tipo disponibili:

Scorciatoie

Le parole chiave possono essere utilizzate con il --type flag per inserire tutti i codici di tipo associati nel comando. Dall'esempio seguente, puoi vedere che tutte le informazioni associate all'utilizzo dei codici di tipo numerico 16 e 17 sono fornite: 

$ dmidecode --type memory

# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.

Handle 0x0003, 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: 2

Handle 0x0004, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x0003
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8192 MB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelA-DIMM0
	Bank Locator: BANK 0
	Type: DDR4
	Type Detail: Synchronous Unbuffered (Unregistered)
	Speed: 2133 MT/s
	Manufacturer: Samsung
	Serial Number: 00000000
	Asset Tag: None
	Part Number: M471A1K43BB1-CRC    
	Rank: 1
	Configured Memory Speed: 2133 MT/s
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: 1.2 V

Handle 0x0005, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x0003
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8192 MB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelB-DIMM0
	Bank Locator: BANK 2
	Type: DDR4
	Type Detail: Synchronous Unbuffered (Unregistered)
	Speed: 2133 MT/s
	Manufacturer: SK Hynix
	Serial Number: 2A7E0BA5
	Asset Tag: None
	Part Number: HMA81GS6AFR8N-UH    
	Rank: 1
	Configured Memory Speed: 2133 MT/s
	Minimum Voltage: Unknown
	Maximum Voltage: Unknown
	Configured Voltage: 1.2 V

Puoi vedere qui le informazioni associate all'utilizzo dei codici tipo 5, 6, 16 e 17. 

Concludi

Spero che questo rapido riassunto dello strumento DMI Decoder sia stato utile. Facci sapere quando hai usato questo comando o ne hai avuto bisogno. Si spera che ora tu abbia una strategia o un punto di riferimento migliore per il prossimo problema hardware in cui ti imbatti.

[Vuoi provare Red Hat Enterprise Linux? Scaricalo ora gratuitamente.]


Linux
  1. 7 modi per visualizzare le informazioni sull'hardware utilizzando Dmidecode

  2. dmidecode:ottieni informazioni sull'hardware di sistema su Linux

  3. Strumenti Linux:diffondere il messaggio con dmesg

  4. Come riprodurre le sessioni del terminale registrate con il comando di script Linux

  5. Linux:ottenere informazioni sull'hardware di una macchina in Linux?

Dirigiti verso la sala giochi nel tuo terminale Linux con questo clone di Pac-Man

Trova le informazioni sull'hardware del sistema Linux con Hwinfo

Come visualizzare le informazioni sull'hardware in Linux

Ottieni informazioni su un comando con Type Command in Linux

Come ottenere informazioni sull'hardware su Linux utilizzando il comando dmidecode

I 20 migliori strumenti di sicurezza per Linux:la scelta dell'esperto di Linux