El decodificador de tablas DMI es una herramienta de línea de comandos para sistemas Linux. Se usa comúnmente para traducir la tabla DMI de una máquina (BIOS de administración del sistema o SMBIOS) a un formato legible por humanos. Esta herramienta le permite ver información adicional sobre la configuración de hardware de un sistema e incluso brinda información que no está directamente relacionada con la compilación actual. Se puede encontrar información como la cantidad máxima de memoria admitida o el tipo de CPU más rápido compatible mediante el uso de algunos indicadores clave.
Aplicación práctica
Desde un punto de vista práctico, es posible que se encuentre con situaciones en las que necesite un número de serie o una pieza clave de información de hardware durante la resolución de problemas. En mi tiempo como ingeniero de almacenamiento, me encontré con varios casos en los que un cliente compraba un servidor de edición virtual y luego intentaba ejecutar cantidades masivas de copias de seguridad de datos o replicaciones en esta máquina. Según el tamaño de los trabajos, a veces sobrecargaban la memoria incluida y excedían el espacio de intercambio. A su vez, este problema haría que Killer fuera de memoria (OOM) tuviera un día de campo con el sistema. Entonces, en lugar de buscar especificaciones de hardware en un manual, podría usar dmidecode
para agarrar esta información.
El desglose
En primer lugar, toda la siguiente información se puede encontrar en las páginas de manual de la herramienta ejecutando man dmidecode
. Siéntase libre de seguir por allí. En el nivel más básico, cada registro tiene uno de los siguientes (como se indica en la página del manual):
Administrador:este es un identificador único que permite que los registros se referencian entre sí. Por ejemplo, los registros del procesador suelen hacer referencia a los registros de la memoria caché usando sus identificadores.
Tipo:la especificación SMBIOS define diferentes tipos de elementos de los que puede estar hecha una computadora. Por ejemplo, el tipo 2 se refiere a "Información de la placa base".
Tamaño:cada registro tiene un encabezado de 4 bytes (2 para el identificador, 1 para el tipo, 1 para el tamaño), el resto lo utilizan los datos del registro. Este valor no tiene en cuenta las cadenas de texto (se colocan al final del registro), por lo que la longitud real de un registro puede ser (y suele serlo) mayor que el valor mostrado
Valor decodificado:la información presentada, por supuesto, depende del tipo de registro. Aquí, aprendemos sobre el fabricante, el modelo, la versión y el número de serie de la placa.
Puede ver una lista de ejemplo aquí:
Hay muchas opciones que se pueden utilizar para crear una salida más precisa. No cubriré todos estos aquí, pero se presentan claramente usando la página del manual. De lo que hablaré es de los códigos de tipo DMI que se incluyen con el comando para hacer que la información específica sea rápidamente accesible. Volviendo a mi ejemplo anterior, recordará que habitualmente teníamos problemas con los errores OOM. Para recopilar información sobre la configuración de la memoria de un sistema, puede usar el siguiente comando:
$ dmidecode -t x
donde x
es igual al código de tipo numérico que desea recopilar. Para este ejemplo, sería útil recopilar los códigos 5, 6, 16 y 17. Consulte el cuadro completo de la página del manual a continuación para conocer todos los códigos de tipo disponibles:
Atajos
Las palabras clave se pueden usar con el --type
marca para extraer todos los códigos de tipo asociados en el comando. En el siguiente ejemplo, puede ver que se proporciona toda la información asociada con el uso de los códigos de tipo numérico 16 y 17:
$ 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
Puede ver aquí la información asociada con el uso de los códigos de tipo 5, 6, 16 y 17.
Resumen
Espero que este rápido resumen de la herramienta DMI Decoder haya sido útil. Infórmenos cuando haya utilizado este comando o lo haya necesitado. Con suerte, ahora tiene una mejor estrategia o punto de referencia para el próximo problema de hardware que encuentre.
[¿Quiere probar Red Hat Enterprise Linux? Descárguelo ahora gratis.]