Linux Find Out Maximum RAM Supported By Server / BIOS

ADVERTISEMENTS



Tutorial details Difficulty Easy (rss) Root privileges Yes Requirements dmidecode+memconf perl script Time 2m

How to find out maximum supported RAM in Linux

dmidecode command – It is a tool for dumping a computer’s DMI (some say SMBIOS) table contents in a human-readable format including installed and maximum RAM supported by the Linux/Unix. memconf perl script – A script displays memory modules installed in a system, ECC type, max memory support, empty blanks and more. It is supported on: Solaris (SunOS 4.X or 5.X) on SPARC

Solaris 10 6/06 or later on x86 with /usr/platform/i86pc/sbin/prtdiag

Linux on SPARC with sparc-utils and /dev/openprom

Linux on x86 and x86_64 with kernel-utils or pmtools for dmidecode

FreeBSD on x86 and x86_64 with dmidecode

Most HP-UX systems with SysMgmtPlus (cprop) or Support Tools Manager (cstm)

How do I find out the maximum RAM supported by the Dell, HP, IBM, Oracle/Sun or Intel/AMD server on a Linux or Unix-like operating systems without rebooting the server or opening the server case (chassis)? How can I find find out maximum RAM supported by the Server BIOS and motherboard in Linux?Most modern server supports 16GB, 32GB, 64GB or more RAM and has 4 or more DIMM slots. To find out what is the maximum RAM system can support use any one of the following command as root user. This tip is useful for upgrading the server memory including memory type and make.

Let us see examples and sample to find out maximum supported RAM In Linux and Unix-like systems.

Linux Find Out Maximum RAM Supported Using dmidecode command

The syntax is as follows:

# dmidecode -t 16

OR

# dmidecode |grep -i "Maximum Capacity:" | uniq

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)

# dmidecode -t 16

# 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

However, my old good home Debian Linux based server can support max 4GB ram only:Sample outputs:

(Fig.02: My home server supports maximum 4 GB RAM and has total 2 DIMM slots)

# dmidecode -t 17

# 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

You can find out currently installed memory information (DIMM and its slots) by typing the following command:Sample outputs:

(Fig.03: Find out installed RAM information)

# dmidecode -t 17

# 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

Another output from one of my personal server:Sample outputs:

(Fig.04: This server has 512MBx4 Kingston DIMM installed)

# dmidecode -t memory

# dmidecode -t memory | less

# dmidecode -t memory | more

memconf Perl script

To get all info about the memory type:Sample outputs:

You can download memconf here and run it as follows:

$ cd / tmp $ wget https: // liquidtelecom.dl.sourceforge.net / project / memconf / V3.15 / memconf.v3.15.pl.gz $ gunzip memconf.v3.15.pl.gz # perl memconf.v3.15.pl -v $ cd /tmp $ wget https://liquidtelecom.dl.sourceforge.net/project/memconf/V3.15/memconf.v3.15.pl.gz $ gunzip memconf.v3.15.pl.gz # perl memconf.v3.15.pl -v

Sample outputs:

memconf: V3.08 02-Jun-2015 http://sourceforge.net/projects/memconf/ 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)

# perl memconf.v3.08.pl -v

Conclusion

Another outputs from one of my server:Here is max ram ram supported by my work laptop:The above output indicates that I can 64 GB is maximum memory supported and I can install another 16 or 32 GB memory module. Another option is to visit your server or computer manufacturer website and find out the same info about the memory modules.

You learned how to find out maximum RAM supported your system under Linux and Unix like systems. For more information see the following man page and memconf project home page here:

man 8 dmidecode