Home Linux Tips & Tricks How To Find Out Maximum Supported RAM In Linux

How To Find Out Maximum Supported RAM In Linux

By sk
Published: Last Updated on 25K views

You want to upgrade the Memory to your newly purchased Computer or your old system, and you have no idea about the maximum supported RAM by your system, what will you do? Of course, you can get the specifications from the system catalog, manuals, and also from the system vendor's website. But, it is not necessary. Here is two methods to find out maximum supported RAM in Linux from command line.

Please note that this is not about how much RAM the Linux OS supports, but how much your motherboard supports.

1. Find Out Maximum Supported RAM In Linux using Dmidecode

From the man pages, 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. Using Dmidecode, you can retrieve this information without having to probe for the actual hardware.

Dmidecode is available in most Linux distribution's default repositories.

To install it in Arch Linux and its derivatives, run:

$ sudo pacman -S dmidecode

On Debian/Ubuntu/Linux Mint:

$ sudo apt-get install dmidecode

On Fedora / RHEL / CentOS / AlmaLinux / Rocky Linux:

$ sudo yum install dmidecode

Or,

$ sudo dnf install dmidecode

On SUSE/openSUSE:

$ sudo zypper in dmidecode

Once Dmicode installed, run the following command to find out maximum supported RAM by your system:

$ sudo dmidecode -t 16

Sample output:

# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.

Handle 0x0014, DMI type 16, 15 bytes
Physical Memory Array
 Location: System Board Or Motherboard
 Use: System Memory
 Error Correction Type: None
 Maximum Capacity: 16 GB
 Error Information Handle: Not Provided
 Number Of Devices: 2
Find Out Maximum Supported RAM In Linux using Dmidecode

Find Out Maximum Supported RAM In Linux using Dmidecode

As you see in the above output, the maximum supported RAM size is 16 GB, and the number of available RAM slots (DIMM) are 2.

You might want to check the currently installed RAM size. To do so, run:

$ sudo dmidecode -t 17

Sample output:

Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.

Handle 0x0017, DMI type 17, 28 bytes
Memory Device
 Array Handle: 0x0014
 Error Information Handle: 0x0000
 Total Width: Unknown
 Data Width: Unknown
 Size: No Module Installed
 Form Factor: DIMM
 Set: None
 Locator: DIMM_B
 Bank Locator: BANK 2
 Type: Unknown
 Type Detail: None
 Speed: Unknown
 Manufacturer: Not Specified
 Serial Number: Not Specified
 Asset Tag: Not Specified
 Part Number: Not Specified
 Rank: Unknown

Handle 0x0015, DMI type 17, 28 bytes
Memory Device
 Array Handle: 0x0014
 Error Information Handle: 0x0000
 Total Width: 64 bits
 Data Width: 64 bits
 Size: 4096 MB
 Form Factor: SODIMM
 Set: None
 Locator: DIMM_A
 Bank Locator: BANK 0
 Type: DDR3
 Type Detail: Synchronous
 Speed: 1067 MHz
 Manufacturer: 014F
 Serial Number: 00092AF2
 Asset Tag: 54114000 
 Part Number: JM1066KSN-4G 
 Rank: Unknown
Check the currently installed RAM size using Dmidecode

Check the currently installed RAM size using Dmidecode

As you see in the output, my system has two DIMM slots and 4 GB RAM is installed in one slot. My RAM type is DDR3 and speed is 1067 MHz. The other one is empty.

Alternatively, run any one of the following command to display your system's Memory details.

$ sudo dmidecode -t memory

Sample output:

# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.6 present.

Handle 0x0014, DMI type 16, 15 bytes
Physical Memory Array
 Location: System Board Or Motherboard
 Use: System Memory
 Error Correction Type: None
 Maximum Capacity: 16 GB
 Error Information Handle: Not Provided
 Number Of Devices: 2
[...]
Display your system's Memory details with Dmidecode

Display your system's Memory details with Dmidecode

To view the complete system hardware details, just run:

$ sudo dmidecode

Please note that some chipset and BIOS may not provide accurate information. However, you might get quite accurate details from server grade hardware.

For more details, refer man pages.

$ man dmidecode

Suggested read:


2. Find Maximum Supported RAM In Linux using Memconf

Memconf is a simple perl script that displays memory modules installed in a Linux, Unix, Sun/Oracle Solaris, and HP-UX system.

Make sure you have installed perl before using this script.

To install perl on Arch Linux and its derivatives, run:

$ sudo pacman -S perl

On Debian / Ubuntu / Linux Mint:

$ sudo apt-get install perl

On RHEL / Fedora / CentOS / Scientific Linux:

$ sudo yum install perl

Or,

$ sudo dnf install perl

After installing perl, download memconf script using command:

$ wget https://sourceforge.net/projects/memconf/files/V3.12/memconf-v3.12.pl.gz

Extract the zip using command:

$ gunzip memconf-v3.12.pl.gz

Finally, run memconf script as shown below.

$ sudo perl memconf-v3.12.pl

Sample output:

 memconf: V3.12 07-Oct-2016 http://sourceforge.net/projects/memconf/
 hostname: sk
 Dell Inc. Inspiron N5050 (Dual-Core Hyper-Threaded Intel(R) Core(TM) i3-2350M @ 2.30GHz)
 Memory Error Correction: None
 Maximum Memory: 16384MB (16GB)
 DIMM_A BANK 0: 4096MB 1067MHz Synchronous DDR3 SODIMM, AMD JM1066KSN-4G
 empty memory sockets: DIMM_B BANK 2
 total memory = 4096MB (4GB)
Find Out Maximum Supported RAM In Linux using Memconf

Find Out Maximum Supported RAM In Linux using Memconf

As you see above, the maximum supported memory is 16 GB.

For more details, refer memconf homepage.

Reference:

You May Also Like

6 comments

David Okwii February 9, 2017 - 2:14 pm

Great tip over there. Thanks.

Reply
pooky2483 September 15, 2018 - 10:32 pm

Something is seriously wrong here. I KNOW I have 32Gb installed, yet this command tells me I only have 8Gb installed and can go up to only 16Gb.

Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

Handle 0x0032, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 4

This is the currently installed RAM stats

Getting SMBIOS data from sysfs.
SMBIOS 2.5 present.

Handle 0x0034, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0032
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: Other
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer0
Serial Number: SerNum0
Asset Tag: AssetTagNum0
Part Number: PartNum0

Handle 0x0036, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0032
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: Other
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer1
Serial Number: SerNum1
Asset Tag: AssetTagNum1
Part Number: PartNum1

Handle 0x0038, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0032
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator: BANK2
Type: Other
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer2
Serial Number: SerNum2
Asset Tag: AssetTagNum2
Part Number: PartNum2

Handle 0x003A, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x0032
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM3
Bank Locator: BANK3
Type: Other
Type Detail: Synchronous
Speed: 1333 MHz
Manufacturer: Manufacturer3
Serial Number: SerNum3
Asset Tag: AssetTagNum3
Part Number: PartNum3

I then used the following command to check…
sudo lshw -class memory

*-firmware
description: BIOS
vendor: American Megatrends Inc.
physical id: 0
version: 2101
date: 12/02/2014
size: 64KiB
capacity: 1984KiB
capabilities: isa pci pnp apm upgrade shadowing escd cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification
*-cache:0
description: L1 cache
physical id: 5
slot: L1-Cache
size: 512KiB
capacity: 512KiB
clock: 1GHz (1.0ns)
capabilities: pipeline-burst internal write-back unified
configuration: level=1
*-cache:1
description: L2 cache
physical id: 6
slot: L2-Cache
size: 2MiB
capacity: 2MiB
clock: 1GHz (1.0ns)
capabilities: pipeline-burst internal write-back unified
configuration: level=2
*-cache:2
description: L3 cache
physical id: 7
slot: L3-Cache
size: 6MiB
capacity: 6MiB
clock: 1GHz (1.0ns)
capabilities: pipeline-burst internal write-back unified
configuration: level=3
*-memory
description: System Memory
physical id: 32
slot: System board or motherboard
size: 32GiB
*-bank:0
description: DIMMProject-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME POT-Creation-Date: 2009-10-08 14:02+0200PO-Revision-Date: 2012-02-05 00:26+0000Last-Translator: Andi Chandler Language-Team: English (United Kingdom) MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitX-Launchpad-Export-Date: 2016-06-27 17:08+0000X-Generator: Launchpad (build 18115) Synchronous 1333 MHz (0.8 ns)
product: PartNum0
vendor: Manufacturer0
physical id: 0
serial: SerNum0
slot: DIMM0
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:1
description: DIMMProject-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME POT-Creation-Date: 2009-10-08 14:02+0200PO-Revision-Date: 2012-02-05 00:26+0000Last-Translator: Andi Chandler Language-Team: English (United Kingdom) MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitX-Launchpad-Export-Date: 2016-06-27 17:08+0000X-Generator: Launchpad (build 18115) Synchronous 1333 MHz (0.8 ns)
product: PartNum1
vendor: Manufacturer1
physical id: 1
serial: SerNum1
slot: DIMM1
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:2
description: DIMMProject-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME POT-Creation-Date: 2009-10-08 14:02+0200PO-Revision-Date: 2012-02-05 00:26+0000Last-Translator: Andi Chandler Language-Team: English (United Kingdom) MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitX-Launchpad-Export-Date: 2016-06-27 17:08+0000X-Generator: Launchpad (build 18115) Synchronous 1333 MHz (0.8 ns)
product: PartNum2
vendor: Manufacturer2
physical id: 2
serial: SerNum2
slot: DIMM2
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:3
description: DIMMProject-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME POT-Creation-Date: 2009-10-08 14:02+0200PO-Revision-Date: 2012-02-05 00:26+0000Last-Translator: Andi Chandler Language-Team: English (United Kingdom) MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitX-Launchpad-Export-Date: 2016-06-27 17:08+0000X-Generator: Launchpad (build 18115) Synchronous 1333 MHz (0.8 ns)
product: PartNum3
vendor: Manufacturer3
physical id: 3
serial: SerNum3
slot: DIMM3
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)

So… something is wrong somewhere!!!

Reply
Peter August 20, 2019 - 11:55 pm

Why don’t you just write the limits for each version of Linux?

Reply
Daniel April 8, 2020 - 2:40 pm

this isnt about how much linux supports, its about how much your motherboard supports.

Reply
GIO November 11, 2022 - 1:03 pm

So is “maximum ram” means per slot or for total (both slots) combined?

Reply
sk November 11, 2022 - 1:50 pm

All slots combined.

Reply

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

This website uses cookies to improve your experience. By using this site, we will assume that you're OK with it. Accept Read More