Sometimes it may be necessary to view the hardware information of a server, laptop or desktop without opening it’s cover. In this post, I’ll explain how to use dmidecode Linux command to get the hardware and BIOS information of the server. DMI stands for Desktop Management interface and SMBIOS stands for System Management BIOS. dmidecode command reads the systems DMI table for the hardware and BIOS information.
Apart from giving the information about the current configuration of the system, dmidecode also gives information about the maximum supported configuration of the system. For e.g, It gives information about the current size of the RAM and the maximum RAM size supported by the system.
Let us review the following items in this post:
- Understand the dmidecode output
- DMI Types
- View Memory
- View BIOS
- View Manufacturer, Model and Serial number of the equipment
1. Understand the dmidecode output:
dmidecode displays the output of the DMI table in the following record format.
Record Header: Handle {record-id}, DMI type {dmi-type-id}, {record-size} bytes
Record Value: {multi-line-record-value}
- {record-id} is a unique identifier for every record in the DMI table.
- {dmi-type-id} identifies the type of the record. i.e BIOS, Memory etc.,
- {record-size} specifies the size of the record in the DMI table.
- {multi-line-record-values} is the record value for that specific DMI type. This is typically a multi line value.
[local-host]# dmidecode | head -15# dmidecode 2.9SMBIOS 2.3 present.56 structures occupying 1977 bytes.Table at 0×000FB320.
Handle 0xDA00, DMI type 218, 11 bytes {Record 1 Header}OEM-specific Type {Record 1 multi-line value}Header and Data:DA 0B 00 DA B0 00 17 03 08 28 00
Handle 0×0000, DMI type 0, 20 bytes {Record 2 Header}BIOS Information {Record 2 multi-line value}Vendor: Dell Computer CorporationVersion: A07Release Date: 01/13/2004
To display the total number of records in the DMI table, run the following command. Please note that the output of the following command matches total count in the line#3 mentioned above.
[local-host]# dmidecode | grep ^Handle | wc -l56
2. DMI Types
You can get information about a specific hardware component by specifying the DMI Type id. Following command will get the information about the CPU of the system. Please note that you can either pass -t or –type option to the dmidecode command.
[local-host]# dmidecode -t 4# dmidecode 2.9SMBIOS 2.3 present.
Handle 0×0400, DMI type 4, 35 bytesProcessor InformationSocket Designation: Processor 1Type: Central ProcessorFamily: XeonManufacturer: IntelID: 20 0A 00 00 00 00 20 20Signature: Type 0, Family 15, Model 2, Stepping 9
Following are the different DMI types available.
Type Description0 BIOS1 System2 Base Board3 Chassis4 Processor5 Memory Controller6 Memory Module7 Cache8 Port Connector9 System Slots10 On Board Devices11 OEM Strings12 System Configuration Options13 BIOS Language14 Group Associations15 System Event Log16 Physical Memory Array17 Memory Device18 32-bit Memory Error19 Memory Array Mapped Address20 Memory Device Mapped Address21 Built-in Pointing Device22 Portable Battery23 System Reset24 Hardware Security25 System Power Controls26 Voltage Probe27 Cooling Device28 Temperature Probe29 Electrical Current Probe30 Out-of-band Remote Access31 Boot Integrity Services32 System Boot33 64-bit Memory Error34 Management Device35 Management Device Component36 Management Device Threshold Data37 Memory Channel38 IPMI Device39 Power Supply
Instead of type_id, you can also pass the keyword to the -t option of the dmidecode command. Following are the available keywords.
Keyword DMI Type Idbios 0, 13system 1, 12, 15, 23, 32baseboard 2, 10chassis 3processor 4memory 5, 6, 16, 17cache 7connector 8slot 9
For e.g. to get all the system baseboard related information execute the following command, which will display the type_id 2 and 10
[local-host]# dmidecode -t baseboard# dmidecode 2.9SMBIOS 2.3 present.
Handle 0×0200, DMI type 2, 9 bytesBase Board Information Manufacturer: Dell Computer Corporation Product Name: 0A1111 Version: A05 Serial Number: ..A1234567654321.
Handle 0×0A00, DMI type 10, 14 bytesOn Board Device 1 Information Type: SCSI Controller Status: Enabled Description: LSI Logic 53C1030 Ultra 320 SCSI
3. Get Memory information
What is the current memory size? You don’t even need dmidecode for this purpose. You can get this information with the free command as shown below:
[local-host]# freetotal used free shared buffers cachedMem: 1034624 549136 485488 0 115424 322816-/+ buffers/cache: 110896 923728Swap: 3148732 0 3148732
What is the maximum RAM supported by the system? To get this information, pass the type id 16 to the dmidecode command as shown below.
[local-host]# dmidecode -t 16# dmidecode 2.9SMBIOS 2.3 present.
Handle 0×1000, DMI type 16, 15 bytesPhysical Memory ArrayLocation: System Board Or MotherboardUse: System MemoryError Correction Type: Multi-bit ECCMaximum Capacity: 8 GBError Information Handle: Not ProvidedNumber Of Devices: 4
How much memory can I expand to? We know the current memory of the system is 1GB. Is this 1 x 1GB (or) 2 x 512MB (or) 4 x 256MB? This can be figured out by passing the type id 17 to the dmidecode command as shown below. Please note in the example below, if you have to expand upto 8GB of maximum RAM, you need to remove the existing 512MB from slot 1 and 2, and use 2GB RAM on all the 4 memory slots.
[local-host]# dmidecode -t 17# dmidecode 2.9SMBIOS 2.3 present.
Handle 0×1100, DMI type 17, 23 bytesMemory DeviceArray Handle: 0×1000Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 512 MB {Slot 1 has 512MB}Form Factor: DIMMSet: 1Locator: DIMM_1ABank Locator: Not SpecifiedType: DDRType Detail: SynchronousSpeed: 266 MHz (3.8 ns)
Handle 0×1101, DMI type 17, 23 bytesMemory DeviceArray Handle: 0×1000Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: 512 MB {Slot 2 has 512MB}Form Factor: DIMMSet: 1Locator: DIMM_1BBank Locator: Not SpecifiedType: DDRType Detail: SynchronousSpeed: 266 MHz (3.8 ns)
Handle 0×1102, DMI type 17, 23 bytesMemory DeviceArray Handle: 0×1000Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: No Module Installed {Slot 3 is empty}Form Factor: DIMMSet: 2Locator: DIMM_2ABank Locator: Not SpecifiedType: DDRType Detail: SynchronousSpeed: 266 MHz (3.8 ns)
Handle 0×1103, DMI type 17, 23 bytesMemory DeviceArray Handle: 0×1000Error Information Handle: Not ProvidedTotal Width: 72 bitsData Width: 64 bitsSize: No Module Installed {Slot 4 is empty}Form Factor: DIMMSet: 2Locator: DIMM_2BBank Locator: Not SpecifiedType: DDRType Detail: SynchronousSpeed: 266 MHz (3.8 ns)
4. Get BIOS information
[local-host]# dmidecode -t bios# dmidecode 2.9SMBIOS 2.3 present.
Handle 0×0000, DMI type 0, 20 bytesBIOS InformationVendor: Dell Computer CorporationVersion: A07Release Date: 01/13/2004Address: 0xF0000Runtime Size: 64 kBROM Size: 4096 kBCharacteristics:ISA is supportedPCI is supportedPNP is supportedBIOS is upgradeableBIOS shadowing is allowedESCD support is availableBoot from CD is supportedSelectable boot is supportedEDD is supportedJapanese floppy for Toshiba 1.2 MB is supported (int 13h)5.25″/360 KB floppy services are supported (int 13h)5.25″/1.2 MB floppy services are supported (int 13h)3.5″/720 KB floppy services are supported (int 13h)8042 keyboard services are supported (int 9h)Serial services are supported (int 14h)CGA/mono video services are supported (int 10h)ACPI is supportedUSB legacy is supportedLS-120 boot is supportedBIOS boot specification is supportedFunction key-initiated network boot is supported
Handle 0×0D00, DMI type 13, 22 bytesBIOS Language InformationInstallable Languages: 1en|US|iso8859-1Currently Installed Language: en|US|iso8859-1
5. View Manufacturer, Model and Serial number of the equipment
When you call customer support of the equipment, they will typically request this information, which can be obtained as shown below.
[local-host]# dmidecode -t system# dmidecode 2.9SMBIOS 2.3 present.
Handle 0×0100, DMI type 1, 25 bytesSystem InformationManufacturer: Dell Computer CorporationProduct Name: PowerEdge 1750Version: Not SpecifiedSerial Number: 1234567UUID: 44411111-2200-1033-1234-111111503411Wake-up Type: Power Switch
Handle 0×0C00, DMI type 12, 5 bytesSystem Configuration OptionsOption 1: NVRAM_CLR: Clear user settable NVRAM areas and set defaultsOption 2: PASSWD: Close to enable password
Handle 0×2000, DMI type 32, 11 bytesSystem Boot InformationStatus: No errors detected
References
If you have more time to explore about DMI and SMBIOS, I recommend that you give a quick glance at the DMI and SMBIOS specifications.
- Distributed Management Task Force maintains the DMI and SMBIOS specification
- DMI Specification
- SMBIOS Specification
- “This article was written by Ramesh Natarajan. At the The Geek Stuff blog he shares his intensive knowledge and experience on Linux and other Geeky stuff.”
Have a Geeky Day!
Similar & Related Posts:
- HowTo: Repairing ReiserFS file system with reiserfsck
- openSUSE 10.x: Hardware Monitoring - Using LM_sensors “Sensors”
- Playstation3 + Linux = More Than a Toy
- openSUSE 10.2 Network Boot and Installation HOWTO
- Google’s Android Emulator on Linux Box and Installing APK Files
- Kernel space: How much memory am I really using?
- For Geek Cred, Try These One-Liners
- x11vnc - Connecting Remotely To Nokia N800 From a Windows/Linux box Using VNC
- Installing Ubuntu Linux 7.04 Feisty Fawn on the PS3
- Vista and Solaris Express Dual Boot




Get FREE daily updates via Email:
















Sitemap
RSS Feed
By:
CC Licensed