Monday, April 23, 2012

Linux / Unix: Find Out Maximum RAM Supported By The Server BIOS / Motherboard

How do I find out the maximum RAM supported by the Dell / HP / IBM / Oracle / Sun / Intel / AMD server under Linux / Unix / HP-UX / FreeBSD / Solaris operating systems without rebooting the server or opening server case (cabinet)?

Most modern server supports 16GB, 32GB, 64GB or more RAM and has 4 or more DIMM slots. To find out what is the maximum system can support type the following command as root user:
# dmidecode -t 16
Sample outputs:
# dmidecode 2.11
SMBIOS 2.5 present.
Handle 0x0016, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 64 GB
Error Information Handle: Not Provided
Number Of Devices: 8
(Fig.01: This server supports maximum 64 GB and has 8 DIMM slots)

However, my old good home server can support max 4GB ram:
# dmidecode -t 16
Sample outputs:
# dmidecode 2.9
SMBIOS 2.6 present.
Handle 0x0008, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 4 GB
Error Information Handle: Not Provided
Number Of Devices: 2
(Fig.02: My home server supports maximum 4 GB RAM and has total 2 DIMM slots)

You can find out currently installed memory information (DIMM and its slots) by typing the following command:
# dmidecode -t 17
Sample outputs:
# dmidecode 2.9
SMBIOS 2.6 present.
Handle 0x000A, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0008
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz (1.5 ns)
Manufacturer: Manufacturer00
Serial Number: SerNum00
Asset Tag: AssetTagNum0
Part Number: ModulePartNumber00
Handle 0x000C, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0008
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: No Module Installed
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: Unknown
Type Detail: Unknown
Speed: Unknown
Manufacturer: Manufacturer01
Serial Number: SerNum01
Asset Tag: AssetTagNum1
Part Number: ModulePartNumber01
(Fig.03: Find out installed RAM information)

Another output from one of my personal server:
# dmidecode -t 17
Sample outputs:
# dmidecode 2.11
SMBIOS 2.5 present.
Handle 0x0013, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: No Error
Total Width: 40968 bits
Data Width: 41032 bits
Size: 512 MB
Form Factor: DIMM
Set: 1
Locator: J6G1
Bank Locator: DIMM 0
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: Kingston
Serial Number: 80CC2564
Asset Tag: 00000903
Part Number: 393930353332302D3030322E4130314C4600
Handle 0x0014, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: No Error
Total Width: 41480 bits
Data Width: 41544 bits
Size: 512 MB
Form Factor: DIMM
Set: 1
Locator: J6G2
Bank Locator: DIMM 1
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: Kingston
Serial Number: 80CC1E64
Asset Tag: 00000903
Part Number: 393930353332302D3030322E4130314C4600
Handle 0x0015, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: No Error
Total Width: 41992 bits
Data Width: 42056 bits
Size: 512 MB
Form Factor: DIMM
Set: 1
Locator: J6H1
Bank Locator: DIMM 2
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: Kingston
Serial Number: BCCCFD8D
Asset Tag: 00000833
Part Number: 393930353332302D3030322E4130314C4600
Handle 0x0016, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0012
Error Information Handle: No Error
Total Width: 42504 bits
Data Width: 42568 bits
Size: 512 MB
Form Factor: DIMM
Set: 1
Locator: J6H2
Bank Locator: DIMM 3
Type: DDR2
Type Detail: Synchronous
Speed: 667 MHz
Manufacturer: Kingston
Serial Number: BCCCDF8D
Asset Tag: 00000833
Part Number: 393930353332302D3030322E4130314C4600
(Fig.04: This server has 512MBx4 Kingston DIMM installed)

memconf Perl Script

You can download memconf here and run it as follows:
 
$ cd /tmp
$ wget http://www.4schmidts.com/unix/memconf.gz
$ gunzip memconf.gz
# perl memconf -v
 
Sample outputs:
memconf:  V2.22 30-Jan-2012 http://www.4schmidts.com/unix.html
hostname: dbmsyq05.nixcraft.net.in
Supermicro X7DBR-3 (Dual-Core Intel(R) Xeon(TM) 2000MHz)
Memory Error Correction: None
Maximum Memory: 65536MB (64GB)
DIMM1A Bank1: 2048MB 667MHz Synchronous DDR2 DIMM, 0000
DIMM2A Bank2: 2048MB 667MHz Synchronous DDR2 DIMM, 0000
DIMM3A Bank3: 2048MB 667MHz Synchronous DDR2 DIMM, 0000
DIMM4A Bank4: 2048MB 667MHz Synchronous DDR2 DIMM, 0000
empty memory sockets: DIMM1B Bank1, DIMM2B Bank2, DIMM3B Bank3, DIMM4B Bank4
total memory = 8192MB (8GB)
WARNING: ECC memory detected, but ECC is not enabled in the BIOS.
(Fig.05: Runs on Linux / Solaris / HP-UX / FreeBSD to displays memory modules installed in server)

No comments:

Post a Comment