15

Linux Find Out Maximum RAM Supported By Server / BIOS

 4 years ago
source link: https://www.cyberciti.biz/faq/whatis-maximum-ram-supported-by-linux-server-computer-system/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

JzUvQbU.png!web

H ow 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.

How to find out maximum supported RAM in Linux

  1. 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.
  2. 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
(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:

267vq2z.jpg!webImage 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 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)

Another outputs from one of my server:

# perl memconf.v3.08.pl -v
umEF3e6.jpg!webImage 02: UNIX memconf utility in action

Here is max ram ram supported by my work laptop:

e2yaQb2.png!web

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK