Linux Get Memory Slot Info

I would like to get the available memory reported as a percentage using a Linux command line. I used the free command, but that is only giving me numbers, and there is no option for percentage. @azorius (and probably unimplemented) means the bios/chipset can handle 4 slots, but the board manufacturer decided not to include 2 of the possible slots the bios can support in the physical realm that is the actual MB.

Translation(s): English - Français - Italiano - Русский

?Discussion

How to identify a device > RAM

How to identify the installed Memory / RAM.

Many people simply use free, which is available on every Debian system, to list the quantity of RAM installed (detected). Gnome users can install and use the hardinfo. KDE user can use kinfocenter.

free

free is the Unix command to know about free/used/available memory on your system:

under Gnome: hardinfo

Gnomes's System Information (Hardinfo in Menu Applications/System Tools, from package:hardinfo) has an information page on the RAM installed.

under KDE: KInfocenter

KDE's KInfoCenter (in K Menu / System / KInfoCenter Info Center, from package:kcontrol) has an information page on the RAM installed.

Linux

dmidecode

dmidecode can be used to query the motherboards DMI zone about RAM, Ram Slot(s) and Memory Controller:

dmidecode -t memory is equivalent to running the 4 commands below (i.e dmidecode -t 5 -t 6 -t 16 -t 17)

Memory Device

Memory Controller Information

Memory Module Information

lshw

You can also check information about RAM (like speed, type, etc) using lshw (from package lshw).

References

  • manpages: free(1), dmidecode(8)

How to find memory slots, DIMM info in linux from dmidecode

Some time back I was using a command called meminfo in Solaris to find the memory information in Solaris. It is indeed a nice script written by schmidt http://www.4schmidts.com/memconf.html .

Later, I moved my role from supporting Solaris systems to Linux systems and I was struggling to get the same piece of info in Linux about the memory bank/slot and how memory is present in each memory bank. Today I got an audit work to validate the system data that someone has filled about Linux servers. So, this time I couldn’t escape and I had to find a way out. I always knew that there should be info in dmidecode command, but as usual my laziness was stopping me from looking in to the output.

So finally I had to push my lazy attitude and dive in to the Info which dmidecode was giving. I was really surprised to see that there is enough info that we can grab from the dmidecode output. So here is my analysis.

  • First check the actual memory Info from the either “top” or “free -m” command.
  • Check the “dmidecode” output for the DIMM slot and each RAM size

FREE COMMAND OUTPUT

So the below command shows that we have around 2GB of memory installed in the system.

[[email protected]]# free -m
total used free shared buffers cached
Mem: 2026 1585 440 0 222 551
-/+ buffers/cache: 811 1215
Swap: 4094 0 4094

TOP COMMAND OUTPUT

Wind creek casino atmore al promotions menu. 47 ms; iy2020; im10; id23; ih05; imh19; iepoch:417; ixf-compiler; ixf-compiler1.0.0.0; py2020; pm10; pd04; ph12; pmh40; pepoch:332. 46 ms; iy2020; im12; id11; ih22; imh56; iepoch:558; ixf-compiler; ixf-compiler1.0.0.0; py2020; pm12; pd10; ph09; pmh14; pepoch:906.

Let’s verify our understanding of memory available using the TOP command which also shows that we have approx 2GB memory approx.

[[email protected]]# top

top – 13:18:56 up 216 days, 4:12, 3 users, load average: 0.14, 0.11, 0.09
Tasks: 199 total, 1 running, 198 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.8% us, 1.4% sy, 0.0% ni, 97.4% id, 0.3% wa, 0.0% hi, 0.0% si
Mem: 2074900k total, 1623648k used, 451252k free, 227816k buffers
Swap: 4192924k total, 296k used, 4192628k free, 565160k cached

DMIDECODE COMMAND

Run the DMIDECODE command and look for the data where the word “Physical Memory Array” starts and go through each line to get detailed information. In some new systems you can also use the command dmidecode –s memory and dmidecode –t 17 , where “s” means string and “t” means type. Let’s just use dmidecode here for now.

Summary of the memory data

——————————————————————————————-

Maximum memory that the ON BOARD memoryslots can accept is= 8GB

Linux Get Memory Speed

Type of memory = DDR

Error Correction Type: Single-bit ECC

Size of each DIMM = 1024 MB (1GB)

DIMM Speed = 333 MHz (3.0 ns)

Linux Get Free Memory

Number of DIMM slots = Total4 DIMM slots and only 2 DIMM slots are filled with 1GB memory each

Note: where ever the Memory module is not installed the “Size” would show as “Size: No Module Installed”

——————————————————————————————-

[[email protected]]# dmidecode more

So here is the summary of the Info that we are looking from the Important Information we have from the dmidecode data

Handle 0x1000
DMI type 16, 15 bytes.
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Single-bit ECC
Maximum Capacity: 8 GB
Error Information Handle: Not Provided
Number Of Devices: 4

Linux Get Memory Slot Info

Handle 0x1100
DMI type 17, 23 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: DIMM

Set: 1
Locator: DIMM 01
Bank Locator: Not Specified
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)
Handle 0x1101
DMI type 17, 23 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 1024 MB
Form Factor: DIMM
Set: 1
Locator: DIMM 02
Bank Locator: Not Specified
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)

Handle 0x1102
DMI type 17, 23 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor: DIMM
Set: 2
Locator: DIMM 03
Bank Locator: Not Specified
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)

Linux Check Memory Info

Handle 0x1103
DMI type 17, 23 bytes.
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: No Module Installed
Form Factor: DIMM
Set: 2
Locator: DIMM 04
Bank Locator: Not Specified
Type: DDR
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)

Memory Slot In Motherboard

So here is my learning for the day. So I am signing of for the day looking forward to learn something new tomorrow. Infact there are couple of things that I have learnt today and I would try to either share it today or tomorrow in my new post.

Also, one thing that I started believing these days is that there is no job which is small or waste of time. We just have to look at the learning that we can grab from it. I am sure every job teaches us something might not be technical always but I am sure we would have some thing to learn from it directly or in directly.

Adios ! Amigos !

Linux Get Memory Slot Info Free

The desire to write grows with writing.Desiderius Erasmus