Dmidecode es un programa que nos reporta información sobre el hardware del sistema, algo bastante útil cuando desconocemos las especificaciones técnicas de nuestro ordenador y no tenemos acceso a la descripción que provee el fabricante.
Una de las funciones más útiles es determinar cual es el máximo de memoria RAM que es capaz de soportar nuestro equipo y determinar el número de slots (ranuras de expansión) disponibles, por si queremos ampliar la memoria de un portátil, servidor, etc…sin necesidad de tener que abrirlo.
Dmidecode se ejecuta en Linux desde la terminal como root, y en este caso la síntesis del comando es muy sencilla:
sudo dmidecode -t 16
Que nos produce una salida en la consola similar a esta:
# dmidecode 2.12 SMBIOS 2.5 present. Handle 0x000E, DMI type 16, 15 bytes Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: None Maximum Capacity: 8 GB Error Information Handle: Not Provided Number Of Devices: 2
Ahí vemos que la capacidad máxima en mi PC es de 8 GB, mientras el número máximo de slots admitidos (number of devices) son dos.
Si queremos determinar la cantidad de RAM de la que disponemos actualmente (es decir la instalada) utilizaremos el comando:
sudo dmidecode -t 17
Que en mi caso produce este resultado:
# dmidecode 2.12 SMBIOS 2.5 present. Handle 0x000F, DMI type 17, 27 bytes Memory Device Array Handle: 0x000E Error Information Handle: No Error Total Width: 8 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: 1 Locator: DIMM 1 Bank Locator: Bank 0, 1 Type: DDR2 Type Detail: Synchronous Speed: 800 MHz Manufacturer: Not Specified Serial Number: 63617CCA Asset Tag: Not Specified Part Number: Not Specified Handle 0x0010, DMI type 17, 27 bytes Memory Device Array Handle: 0x000E Error Information Handle: No Error Total Width: 8 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: 1 Locator: DIMM 2 Bank Locator: Bank 2, 3 Type: DDR2 Type Detail: Synchronous Speed: 800 MHz Manufacturer: Not Specified Serial Number: 532126E6 Asset Tag: Not Specified Part Number: Not Specified
¿Os parece demasiado largo el desenlace del comando anterior? lo podemos abreviar utilizando este otro:
dmidecode | grep Size
Que nos da un resultado similar a este en cuanto a la RAM instalada:
Runtime Size: 111808 bytes ROM Size: 2048 kB Installed Size: 64 kB Maximum Size: 64 kB Installed Size: 3072 kB Maximum Size: 3072 kB Size: 4096 MB Size: 2048 MB Range Size: 6 GB Range Size: 4 GB Range Size: 2 GB
Un software tan versátil como Dmidecode, es habitual que esté presente en los repositorios de la mayoría distros GNU/Linux, así que vamos a ver como instalarlo en algunas de ellas, en el caso de que no os venga por defecto:
- Debian y derivadas como Ubuntu, Mint o ElementaryOS:
sudo apt-get install dmidecode
- openSUSE:
su zypper in dmidecode
- Fedora:
su -c yum install dmidecode
- Arch Linux y derivadas como Manjaro, Antergos o ArchBang:
sudo pacman -S dmidecode
- KaOS:
sudo pacman -S dmidecode
Con dmidecode además de conocer detalles sobre la memoria RAM de vuestro sistema, podéis acceder a diversos datos sobre la BIOS, el procesador, fuente de alimentación, batería, temperatura, placa base, etc… en total son 41 parámetros diferentes de los que podéis obtener información, siguiendo las instrucciones que nos da su manual:
man dmidecode
Vía | Unixmen
Interesante, yo la puedo ampliar la mía a cuatro gigabytes 🙂
Interesante…. aun puedo agregar 4gb mas!!… aunque de momento, voy sobrado con los 6gb que tengo…
Pues yo creo que no es muy preciso, o puede que mi placa no de la información correcta. Tengo 2 portátiles, tengo una en modo servidor y otra como estación de trabajo. En la de servidor es del año 2007 con 2GB de ram y la placa lo máximo que admite es 2GB, y me dice que admite 3GB. La portátil de estación de trabajo es del año 2008, admite 4GB de ram y actualmente tiene 2,5GB aunque el dmidecode dice que solo admite 2GB.
Igualmente es un punto de referencia. ¡Gracias!
@Juan Natera Dmidecode lo que hace es leer los datos que proporciona la BIOS sobre el hardware y transformarlos en un lenguaje entendible (por decir algo)
Es posible que la BIOS por algún motivo que se me escapa no proporcione esa información y por eso en algunos casos los resultados del comando no sean correctos
Buenisima herramienta!!
Para mi sorpresa mi portatil soporta 16Gb!!! tiene dos slots y actualmente tiene 4+4 un total de 8Gb
Quiero saber si podria añadir un segundo disco duro, para añadir un SSD.
¿Que comando deberia de usar?
Gracias!!
Un saludo.
mint@mint-HP-Pavilion-Sleekbook-15 ~ $ sudo dmidecode -t 9
[sudo] password for mint:
# dmidecode 2.12
SMBIOS 2.7 present.
Handle 0x0015, DMI type 9, 17 bytes
System Slot Information
Designation: PCI Express Slot 1
Type: x16 PCI Express x16
Current Usage: Available
Length: Other
ID: 1
Characteristics:
PME signal is supported
Hot-plug devices are supported
Bus Address: 0000:00:01.0
Handle 0x0016, DMI type 9, 17 bytes
System Slot Information
Designation: PCI Express Slot 2
Type: x1 PCI Express x1
Current Usage: Available
Length: Other
ID: 1
Characteristics:
5.0 V is provided
3.3 V is provided
PME signal is supported
Bus Address: 0000:00:1c.0
Handle 0x0017, DMI type 9, 17 bytes
System Slot Information
Designation: PCI Express Slot 3
Type: x1 PCI Express x1
Current Usage: Available
Length: Other
ID: 2
Characteristics:
5.0 V is provided
3.3 V is provided
Bus Address: 0000:00:1c.1
¿Esto puede ser?
Perdon por mi ignorancia.
Muy útil la verdad, gracias por compartir la información.
Mi placa admite admite mucha mas ram y yo sin saberlo.Excelente aporte
No se si estoy en lo cierto o he metido la gamba hasta el infinito y mas allá XD
Pero creo que cuando haces el dmidecode -t 16 te dice cuantos bancos tienes y cuanta memoria soporta cada banco.
En mi caso tengo 8GB de ram y el -t 16 me dice
Maximum Capacity: 2 GB
Number Of Devices: 4
Yo entiendo que lo que quiere decir es la máxima cantidad de memoria que puedes tener en cada ranura de RAM y no el total de RAM que puedes tener. En mi caso estoy en el limite 2GB por slot, mi ordenador es del 2006 🙁
Creo que no! en mi caso los dos ordenadores en los que probé me daba resultados correctos, como decía en un comentario anterior con dmidecode lo único que hacemos es filtrar la información sobre el hardware que tiene la BIOS y transformarla a un lenguaje que la podamos leer.
En tu caso está claro que dmidecode no la lee correctamente o que la bios no se la proporciona.
Por cierto algo que no mencione en el post, dmidecode incluye un comando llamado «biosdecode» con el que podemos obtener información útil de la BIOS
Soy un total neófito en la materia pero discrepo en tu apreciación, al menos si me guío por lo que dice el fabricante. Tengo un Qosmio X300 y según Toshiba admite hasta 8gb pero a mi me arroja que solo soporta 4gb.
Teóricamente he de darle crédito al fabricante.
Por otro lado, estupendo aporte.
saludos
Excelente herramienta y excelentes comandos que proporcionan información muy útil. Lástima que mi inglés sea de párvulo. En el ordenador donde he probado con Xubuntu, que ya está instalada de antemano, me indica que el ordenador cuenta con 2048 MB de RAM, que pueden ser ampliadas a 4 GB. No está mal si tenemos en cuenta que el hardware de este ordenador se compone de piezas que he ido extrayendo de aquí y de allá.
Interesante. Sin embargo a quien le creo ¿A dmidecode o al fabricante?. Según dell, mi notebook soporta hasta un máximo de 8 GB y dmidecode soporta hasta 16 GB. ¿O dell se estará burlando de mí, para que compre otro equipo?.
Según http://www.nongnu.org/dmidecode/ los datos obtenidos por dmidecode no son fiables, así que tendremos que creer al fabricante.
dmidecode también admite palabras clave (bios, system, baseboard, chassis, processor, memory, cache, connector, slot) que agrupan la información de varios códigos numéricos.
dmidecode -t memory
Para más detalles consultar el manual.
Un saludo.
Según el enlace proporcionado por caracoles:
Beware that DMI data have proven to be too unreliable to be blindly trusted. Dmidecode does not scan your hardware, it only reports what the BIOS told it to.
En caso de divergencia entre el fabricante y lo que dice la BIOS en mi opinión habría que hacer más caso a la documentación técnica del hardware que suministra el fabricante. En todo caso es una herramienta muy útil cuando no se tienen datos del hardware, o como primera aproximación antes de una ampliación en nuestro equipo. Gracias por dármela a conocer.
Un saludo.
Es el máximo por banco.
En mi equipo dice máximo 8GB y estoy con 12 (4+8)
Saludo
Pingback: Determina la cantidad máxima de RAM que admite tu ordenador – Engine-ering
Pingback: Determina la cantidad máxima de RAM que admite tu ordenador – Engine-ering