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 | |
---|---|
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)
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
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
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
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
To get all info about the memory type:
# dmidecode -t memory
# dmidecode -t memory | less
# dmidecode -t memory | more
Sample outputs:
memconf Perl script
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
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.
Another outputs from one of my server:
# perl memconf.v3.08.pl -v
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.
Conclusion
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
🐧 Get the latest tutorials on Linux, Open Source & DevOps via RSS feed or Weekly email newsletter.
🐧 14 comments so far... add one ↓
🐧 14 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
i’d just like to know what does “Number Of Devices: 8” mean
is it the number of Ram slots ?
yes, dimm slots.
my laptop showes that it’s maximum capacity 32GB in 2 dimm slots however i have 4 dimm slots , is it possible
Some BIOS and chipset may not provide accurate information. Usually, you get pretty accurate information from server grade hardware. YMMV.
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.
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.
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.. :)
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). :-)
If only you had read one comment further…
He confirms that it was successful.
I hope this helped you!
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.
Upgraded. Laptop on 8G of RAM. HP 0 – dmidecode 1. Thanks for hint!!
Hi
On my IBM HS21, command show 8 slots but i have only 4 slots…
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.
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
whether will problem on the future with my laptop?