Have you ever needed to determine details about a particular server that maybe you have never seen before? Well, in Linux, there is a great utility that not that many novice users have ever used. It is called "dmidecode."
From the "man" entry for dmidecode:
dmidecode is a tool for dumping a computer’s DMI (some say SMBIOS) table contents in a human-readable format. This table contains a description of the system’s hardware components, as well as other useful pieces of information such as serial numbers and BIOS revision. Thanks to this table, you can retrieve this information without having to probe for the actual hardware. While this is a good point in terms of report speed and safeness, this also makes the presented information possibly unreliable.
The DMI table doesn’t only describe what the system is currently made of, it also can report the possible evolutions (such as the fastest supported CPU or the maximal amount of memory supported).
SMBIOS stands for System Management BIOS, while DMI stands for Desktop Management Interface. Both standards are tightly related and developed by the DMTF (Desktop Management Task Force).
...
...
DMI TYPES
The SMBIOS specification defines the following DMI types:
Type Information
----------------------------------------
0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power SupplyGo ahead and give it a try. You may be surprised at the plethora of information available to you with such a simple command.
/usr/sbin/dmidecode
Below is the output of "dmidecode" on a small desktop server:
# dmidecode 2.7
SMBIOS 2.4 present.
24 structures occupying 3009 bytes.
Table at 0x000F0000.
Handle 0x0000, DMI type 0, 24 bytes.
BIOS Information
Vendor: Phoenix Technologies, LTD
Version: 5.08
Release Date: 04/27/2007
Address: 0xE0000
Runtime Size: 128 kB
ROM Size: 512 kB
Characteristics:
PCI is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
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)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
LS-120 boot is supported
ATAPI Zip drive boot is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Targeted content distribution is supported
BIOS Revision: 5.8
Handle 0x0001, DMI type 1, 27 bytes.
System Information
Manufacturer: Compaq-Presario
Product Name: GC662AA-ABA SR5113WM
Version:
Serial Number: CNH720064C
UUID: 80DE8209-206F-1210-BE87-8ECDE0505874
Wake-up Type: Power Switch
SKU Number: GC662AA#ABA
Family: 103C_53316J
Handle 0x0002, DMI type 2, 8 bytes.
Base Board Information
Manufacturer: ASUSTek Computer INC.
Product Name: IVY
Version: 1.01
Serial Number: MS1C74S30100479
Handle 0x0003, DMI type 3, 17 bytes.
Chassis Information
Manufacturer: Hewlett-Packard
Type: Desktop
Lock: Not Present
Version: Chassis Version
Serial Number: BB0001
Asset Tag:
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None
OEM Information: 0x00000000
Handle 0x0004, DMI type 4, 35 bytes.
Processor Information
Socket Designation: Socket AM2
Type: Central Processor
Family: Athlon 64
Manufacturer: AMD
ID: B1 0F 06 00 FF FB 8B 17
Signature: Extended Family 0, Model B, Stepping 1
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
APIC (On-chip APIC hardware supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
MMX (MMX technology supported)
FXSR (Fast floating-point save and restore)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
HTT (Hyper-threading technology)
Version: AMD Athlon(tm) 64 X2 Dual Core Processor 3600+
Voltage: 1.2 V
External Clock: 200 MHz
Max Speed: 3700 MHz
Current Speed: 1900 MHz
Status: Populated, Enabled
Upgrade: Socket 940
L1 Cache Handle: 0x0008
L2 Cache Handle: 0x0009
L3 Cache Handle: Not Provided
Serial Number:
Asset Tag:
Part Number:
Handle 0x0005, DMI type 5, 20 bytes.
Memory Controller Information
Error Detecting Method: 64-bit ECC
Error Correcting Capabilities:
None
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Module Size: 1024 MB
Maximum Total Memory Size: 2048 MB
Supported Speeds:
70 ns
60 ns
50 ns
Supported Memory Types:
DIMM
Memory Module Voltage: 2.9 V
Associated Memory Slots: 2
0x0006
0x0007
Enabled Error Correcting Capabilities:
None
Handle 0x0006, DMI type 6, 12 bytes.
Memory Module Information
Socket Designation: A0
Bank Connections: 0
Current Speed: 6 ns
Type: DIMM
Installed Size: 512 MB (Single-bank Connection)
Enabled Size: 512 MB (Single-bank Connection)
Error Status: OK
Handle 0x0007, DMI type 6, 12 bytes.
Memory Module Information
Socket Designation: A1
Bank Connections: 2
Current Speed: 6 ns
Type: DIMM
Installed Size: 512 MB (Single-bank Connection)
Enabled Size: 512 MB (Single-bank Connection)
Error Status: OK
Handle 0x0008, DMI type 7, 19 bytes.
Cache Information
Socket Designation: L1 Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 128 KB
Maximum Size: 128 KB
Supported SRAM Types:
Synchronous
Installed SRAM Type: Synchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Data
Associativity: 4-way Set-associative
Handle 0x0009, DMI type 7, 19 bytes.
Cache Information
Socket Designation: L2 Cache
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Write Back
Location: Internal
Installed Size: 512 KB
Maximum Size: 512 KB
Supported SRAM Types:
Synchronous
Installed SRAM Type: Synchronous
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 4-way Set-associative
Handle 0x000A, DMI type 9, 13 bytes.
System Slot Information
Designation: PCI1
Type: 32-bit PCI
Current Usage: In Use
Length: Short
ID: 1
Characteristics:
5.0 V is provided
PME signal is supported
Handle 0x000B, DMI type 9, 13 bytes.
System Slot Information
Designation: PCI2
Type: 32-bit PCI
Current Usage: Available
Length: Short
ID: 2
Characteristics:
5.0 V is provided
PME signal is supported
Handle 0x000C, DMI type 9, 13 bytes.
System Slot Information
Designation: PCIEX16
Type: x16 PCI Express
Current Usage: Available
Length: Short
Characteristics:
5.0 V is provided
PME signal is supported
Handle 0x000D, DMI type 9, 13 bytes.
System Slot Information
Designation: PCIEX1_1
Type: x1 PCI Express
Current Usage: Available
Length: Short
Characteristics:
5.0 V is provided
PME signal is supported
Handle 0x000E, DMI type 13, 22 bytes.
BIOS Language Information
Installable Languages: 3
n|US|iso8859-1
n|US|iso8859-1
r|CA|iso8859-1
Currently Installed Language: n|US|iso8859-1
Handle 0x000F, DMI type 16, 15 bytes.
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 2 GB
Error Information Handle: Not Provided
Number Of Devices: 2
Handle 0x0010, DMI type 17, 27 bytes.
Memory Device
Array Handle: 0x000F
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 512 MB
Form Factor: DIMM
Set: None
Locator: A0
Bank Locator: Bank0/1
Type: DDR2
Type Detail: None
Speed: 667 MHz (1.5 ns)
Manufacturer: 7F7F7F7F7F510000
Serial Number: None
Asset Tag: None
Part Number: 64T64000HU3SB
Handle 0x0011, DMI type 17, 27 bytes.
Memory Device
Array Handle: 0x000F
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 512 MB
Form Factor: DIMM
Set: None
Locator: A1
Bank Locator: Bank2/3
Type: DDR2
Type Detail: None
Speed: 667 MHz (1.5 ns)
Manufacturer: 7F7F7F7F7F510000
Serial Number: None
Asset Tag: None
Part Number: 64T64000HU3SB
Handle 0x0012, DMI type 19, 15 bytes.
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0003FFFFFFF
Range Size: 1 GB
Physical Array Handle: 0x000F
Partition Width: 0
Handle 0x0013, DMI type 20, 19 bytes.
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0001FFFFFFF
Range Size: 512 MB
Physical Device Handle: 0x0010
Memory Array Mapped Address Handle: 0x0012
Partition Row Position: 1
Handle 0x0014, DMI type 20, 19 bytes.
Memory Device Mapped Address
Starting Address: 0x00020000000
Ending Address: 0x0003FFFFFFF
Range Size: 512 MB
Physical Device Handle: 0x0011
Memory Array Mapped Address Handle: 0x0012
Partition Row Position: 1
Handle 0x0015, DMI type 32, 11 bytes.
System Boot Information
Status: No errors detected
Handle 0x0016, DMI type 11, 5 bytes.
OEM Strings
String 1: bid=73NAv3PrA1;PROD_MSWORKS;DLED;IS.N60d;ACPwrFail=Off;Chan=Reta
String 2: il;CPUFan=On;DVDRW;LegacyFloppy=No;TVout=NTSC;PCBRAND=Presario;O
String 3: S=MSV;R_WM;LScribe;DVDP_STD;Vos.H;PROD_MSOFFHST;MDVD_B;RC_B;FPA=
String 4: H;C_MAR;.G4;##HPCPC=00000000<90000006020000000420000253514130040
String 5: 000010001000;5;:0665<;85>18>1<2=1:<55>?4;;=?=19:<8494;>:8011<=31
String 6: 953=?76?>378139;594701:=;34:;55;9128<7937==0<722<:<1:2489>:088=6
String 7: :?1;2>8=8>12691>>286:9?;4454>3<3>89909>=738375;02951<;>=??2?70>7
String 8: 5;04<815:33<20846?312127;?24876>7488457<0;0?39>9;?407;8;8;09>=;=
String 9: =>231>;?456:100000006;00000000002000840515?454=435<49434=2340534
String 10: 7594>444?47535020000000000000000000000000000000000000000?24?4195
String 11: 4<8?4243:463542:9034;??09<31;8951=>:><6>3291=35:7;:7?<0;=973478<
String 12: 4:062629<>53103<<=4651<3499:7?769::98;357697=:3483>07=6;>1<1?<>7
String 13: <817?5586>79?5:5?19<87:>=6507148017=835>552096;714776===1=59:5:9
String 14: ;7?16>;910;6>4?;=21?;7975:6660><>729>:9<98<5<=991>7?7>
String 15:
String 16:
String 17:
String 18:
String 19:
String 20:
String 21:
String 22:
String 23:
String 24:
String 25:
String 26:
String 27:
String 28:
String 29:
String 30:
String 31:
String 32:
Handle 0x0017, DMI type 127, 4 bytes.
End Of Table
Many users are aware that you can get a more basic overview in Linux by going to "cpuinfo" in "/proc." Though you don't get anywhere near as much info, sometimes "cpuinfo" contains enough information. To get that info execute the command:
cat /proc/cpuinfo
Example output below:
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 3600+
stepping : 1
cpu MHz : 1000.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 2010.87
clflush size : 64
power management: ts fid vid ttp tm stc 100mhzsteps
processor : 1
vendor_id : AuthenticAMD
cpu family : 15
model : 107
model name : AMD Athlon(tm) 64 X2 Dual Core Processor 3600+
stepping : 1
cpu MHz : 1000.000
cache size : 512 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch
bogomips : 2010.87
clflush size : 64
power management: ts fid vid ttp tm stc 100mhzsteps
Hopefully these simple Linux utilities will come in handy for you as you get handed new servers to maintain...