Herramientas para conocer el hardware de tu equipo en GNU/Linux

Total, que el otro día pensé que estaría bien ampliar la memoria RAM de mi equipo… tengo 12 GB, con 3 módulos de 4 GB cada uno, pero me hace ilusión llegar a 16 GB. Para comprar un nuevo módulo de 4 GB necesitaba saber diversas características de los módulos que ya tengo, ya que para evitar problemas de compatibilidad e inestabilidad lo recomendado es que el nuevo módulo sea igual que los que ya tienes: frecuencia, fabricante, formato, latencias, etc…

Para ello tenía dos opciones: la cuenta de la vieja, abriendo el ordenador y mirando cómo son los módulos que tengo. Pero no tenía ganas de esto, es un tostón tener que abrir la torre del ordenador… así que pasé a la segunda, que es ver desde el sistema información de mi hardware, que por cierto será mucho más detallado y conciso que verlo a ojo abriendo la máquina. Por suerte utilizo Debian por lo que sólo por esto supuse -y bien- que habría herramientas más que suficientes para hacer lo que fuera. No como Windows que vaya mierdaca… ewrh… volvamos al tema que me despisto.

Dmidecode

Mi favorita y de las más completas. Puedes consultar información de CPU, RAM, BIOS, Placa Base…. Sirve para decodificar componentes DMI (Destktop Management Information) de la SMBIOS (System Management BIOS). Para entendernos la SMBIOS define estructuras de datos en las que se almacena información de la BIOS (que a su vez contiene información de hardware muy valiosa). La comento en primer lugar porque es la que me sirvió para sacar la información de los módulos de RAM que necesitaba. Si hacéis un man del programa, podéis ver todos los códigos que acepta:

man dmidecode

En mi caso, para la RAM:

dmidecode --type 17

Y aquí un fragmento de lo que obtengo:

Handle 0x0030, DMI type 17, 28 bytes
Memory Device
	Array Handle: 0x0024
	Error Information Handle: No Error
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 4096 MB
	Form Factor: DIMM
	Set: None
	Locator: DIMM3
	Bank Locator: BANK3
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1333 MHz
	Manufacturer: A-DATA       
	Serial Number: 0000C46
	Asset Tag: AssetTagNum3
	Part Number:                   
	Rank: 2

Hdparm

Información de dispositivos SATA/IDE. Aunque ojo, porque también sirve para modificar parámetros críticos de los mismos, por lo que no conviene ponerse a experimentar demasiado si no se sabe muy bien qué se está haciendo. También, en otro orden, podemos realizar hasta tests de velocidad para determinar el rendimiento del disco en cuestión.

Lmsensors

Recoge información relativa a sensores de temperatura. No siempre viene instalada en las distros pero lo tienes fácil. En caso de Debian o derivada:

apt-get install lm-sensors

Para Red Hat o derivada:

yum install lm_sensors

También tenéis la versión gráfica con xsensors, cuyo paquete recibe el mismo nombre.

Por otro lado, a mí por defecto me ha detectado los sensores de temperatura como habéis podido ver… pero hay muchos otros. Por ejemplo, de la tarjeta gráfica. Seguramente necesitéis ejecutar sensors-detect y contestar a las preguntas que os vaya haciendo la aplicación para recopilar información de hardware de vuestro equipo y sacar informes de temperatura más detallados y sobre más componentes.

sensors-detect

Los famosos “ls*” (LIST)

Recogen información sobre diversos componentes del ordenador: USB, dipositivos PCI…

  • lsusb: lista de dispositivos conectados por USB.
  • lsscsi: lista de dipositivos SCSI.
  • lsblk: dispositivos de bloque (discos duros).
  • lshw: otro que es muy completo. Muestra información de dispositivos USB, PCI, tarjetas de red, discos, sistemas de ficheros… Tenéis una versión gráfica con lshw-gtk.

    Para instalarlo en Debian o derivada:

    apt-get install lshw lshw-gtk
    

    Y en Red Hat o derivada:

    yum install lshw lshw-gui
    
  • lscpu: información detallada de la CPU. A modo de ejemplo:
    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:                 42
    Stepping:              7
    CPU MHz:               1600.656
    BogoMIPS:              6822.58
    Virtualization:        VT-x
    L1d cache:             32K
    L1i cache:             32K
    L2 cache:              256K
    L3 cache:              8192K
    NUMA node0 CPU(s):     0-7
    

Directorio /proc

Puede darnos información muy valiosa sobre componentes hardware sin necesidad de instalar software adicional.

  • /proc/cpuinfo: información sobre CPU.
  • /proc/meminfo: memoria RAM. Para ver el contenido realiza un cat:
    root@jotadebian:~# cat /proc/meminfo 
    

    Y el principio de la salida será tal que:

    MemTotal:       12236884 kB
    MemFree:         6271904 kB
    MemAvailable:    9036532 kB
    Buffers:         1170696 kB
    Cached:          1708492 kB
    SwapCached:            0 kB
    Active:          2376180 kB
    Inactive:        2050312 kB
    Active(anon):    1548644 kB
    Inactive(anon):    11652 kB
    Active(file):     827536 kB
    Inactive(file):  2038660 kB
    ...
    
  • /proc/filesystems: sistemas de ficheros soportados por el SO.

Y habrá bastantes más formas de ver el hardware de tu máquina… pero tampoco quiero darte la brasa. Esto es una introducción y San Google te llevará a la sabiduría eterna.