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

by on February 15, 2012 · 14 comments· LAST UPDATED February 26, 2015

in , ,

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)?

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.

Tutorial details
DifficultyEasy (rss)
Root privilegesYes
Requirementsdmidecode+memconf perl script
Estimated completion time2m
[a] dmidecode command - It is a tool for dumping a computer's DMI (some say SMBIOS) table contents in a human-readable format. Thanks to this table, you can retrieve this information without having to probe for the actual hardware.

[b] memconf perl script - A script displays memory modules installed in a system. It is supported on:

  1. Solaris (SunOS 4.X or 5.X) on SPARC
  2. Solaris 10 6/06 or later on x86 with /usr/platform/i86pc/sbin/prtdiag
  3. Linux on SPARC with sparc-utils and /dev/openprom
  4. Linux on x86 and x86_64 with kernel-utils or pmtools for dmidecode
  5. FreeBSD on x86 and x86_64 with dmidecode
  6. Most HP-UX systems with SysMgmtPlus (cprop) or Support Tools Manager (cstm)

dmidecode command syntax

The syntax is as follows:
# 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 Debian Linux based server can support max 4GB ram only:
# 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)

To get all info about the memory type:
# dmidecode -t memory
# dmidecode -t memory | less
# dmidecode -t memory | more

Sample outputs:
Image 01: dmidecode command displaying memory information on a Linux or Unix-like systems

Image 01: dmidecode command displaying memory information on a Linux or Unix-like systems

memconf Perl script

You can download memconf here and run it as follows:

 
$ cd /tmp
$ wget http://softlayer-ams.dl.sourceforge.net/project/memconf/V3.06/memconf.v3.06.pl.gz
$ gunzip memconf.v3.06.pl.gz
# perl memconf.v3.06.pl -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)

Another outputs from one of my server:
# perl memconf.v3.06.pl -v
Image 02: UNIX memconf utility in action

Image 02: UNIX memconf utility in action

Another option is to visit your server or computer manufacturer website and find out the same info about the memory modules.

See also
Tweet itFacebook itG+ itDownload PDF versionFound an error/typo on this page?

{ 14 comments… read them below or add one }

1 Eslam February 15, 2012 at 3:37 pm

i’d just like to know what does “Number Of Devices: 8″ mean
is it the number of Ram slots ?

Reply

2 nixCraft February 15, 2012 at 4:09 pm

yes, dimm slots.

Reply

3 Eslam February 15, 2012 at 4:19 pm

my laptop showes that it’s maximum capacity 32GB in 2 dimm slots however i have 4 dimm slots , is it possible

Reply

4 nixCraft February 15, 2012 at 5:20 pm

Some BIOS and chipset may not provide accurate information. Usually, you get pretty accurate information from server grade hardware. YMMV.

Reply

5 Harish t February 15, 2012 at 4:33 pm

I was just going through the code of the Perl Script and Found that there was Mail Option in it. And yeah i checked it after running the script and i guess all my hardware details would be sent to the person mail address written in the script.
And it is really a privacy issue.

Reply

6 nixCraft February 15, 2012 at 5:19 pm

Only if you pass -D option to the command. If so it will e-mail results to memconf maintainer. Otherwise it will not send an email to anyone.

Reply

7 melhiore February 18, 2012 at 9:00 am

I found this RAM diag useful. Based on output from it I’m going to local PC shop today and I’m going to buy more RAM for my HP G72… According to HP max for my motherboard is 4GB, according to diag max is 8GB. Let’s find out who is right.. :)

Reply

8 Scott January 2, 2015 at 11:08 pm

I have the same laptop.. was your experiment successful?
(I’m not going to get my hopes up… but maybe I’ll get lucky and you are notified by this reply, and you can confirm). :-)

Reply

9 Patrick Brenner February 27, 2015 at 6:33 pm

If only you had read one comment further…

He confirms that it was successful.

I hope this helped you!

Reply

10 Scott February 28, 2015 at 7:32 pm

Thanks for taking the time to ping me… yes, I did miss his reply.

I’ve set up a price watch for this memory (camelcamelcamel)… 4GB DDR2 memory my laptop needs is very expensive compared to DDR3. Occasionally, the price drop is steep but since they don’t make much high-density DDR2 the price drops are very brief.

Reply

11 melhiore February 18, 2012 at 7:52 pm

Upgraded. Laptop on 8G of RAM. HP 0 – dmidecode 1. Thanks for hint!!

Reply

12 Walter February 20, 2012 at 1:25 pm

Hi

On my IBM HS21, command show 8 slots but i have only 4 slots…

# perl memconf -v
memconf: V2.22 30-Jan-2012 http://www.4schmidts.com/unix.html
hostname: dlracb
manufacturer: IBM
model: IBM eServer BladeCenter HS21 -[8853L6U]- (Dual-Core Intel Xeon 3000MHz)
Red Hat Enterprise Linux Server release 5.5 (Tikanga), 64-bit kernel, Linux 2.6.18-194.el5
Socket 1 CPU 1: Intel Xeon 3000MHz cpu, system freq: 333MHz
Socket 2 CPU 2: Intel Xeon 3000MHz cpu, system freq: 333MHz
Memory Error Correction: Multi-bit ECC
Maximum Memory: 65536MB (64GB)
DIMM1 Slot 1: 8192MB Synchronous DDR DIMM
DIMM2 Slot 3: 8192MB Synchronous DDR DIMM
DIMM3 Slot 2: 4096MB Synchronous DDR DIMM
DIMM4 Slot 4: 4096MB Synchronous DDR DIMM
empty memory sockets: DIMM5 Slot 5, DIMM6 Slot 7, DIMM7 Slot 6, DIMM8 Slot 8
total memory = 24576MB (24GB)

Reply

13 santosh April 19, 2012 at 4:15 pm

thank you for given above information, but my server ( 2 no.) showing below information;
a)
mf: hewlett-packard
product name: HP xw8600 workstation

[root@lustre2 ~]# dmidecode -t 16
-t: No such file or directory
[root@lustre2 ~]#

above a) is not working in type ( like dmidecode -t 16 , but dmidecode is working )

b)
mf: hewlett-packard
pn: HP Z800 workstation

The above b) is working fine everything.

the above error (i.e (a) what is problem )

and also please can you provide these additional hardware related information

thank’s to “Vivek”

i hope please give the above information era list.

Reply

14 Ahmad Imanudin February 27, 2015 at 3:18 pm

Hi,

Thanks for your information. I am check max RAM on my Fujitsu laptop is support max 8 GB of RAM. But my laptop have 2 SODIM and each have 8 GB of RAM capacity

root@ahmad-LIFEBOOK-LH531:/home/ahmad# dmidecode -t 16
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x0004, 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
root@ahmad-LIFEBOOK-LH531:/home/ahmad# dmidecode -t 17
# dmidecode 2.12
SMBIOS 2.6 present.
Handle 0x0005, DMI type 17, 28 bytes
Memory Device
	Array Handle: 0x0004
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8192 MB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelA-DIMM0
	Bank Locator: BANK 0
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1333 MHz
	Manufacturer: 029E
	Serial Number: 00000000
	Asset Tag: 9876543210
	Part Number: CMSO8GX3M1A1333C9
	Rank: Unknown
Handle 0x0007, DMI type 17, 28 bytes
Memory Device
	Array Handle: 0x0004
	Error Information Handle: Not Provided
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 8192 MB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelB-DIMM0
	Bank Locator: BANK 2
	Type: DDR3
	Type Detail: Synchronous
	Speed: 1333 MHz
	Manufacturer: 029E
	Serial Number: 00000000
	Asset Tag: 9876543210
	Part Number: CMSO8GX3M1A1333C9
	Rank: Unknown

whether will problem on the future with my laptop?

Reply

Leave a Comment

Tagged as: , , , , , ,

Previous Faq:

Next Faq: