How to find how much RAM does my computer have?

How do I find out how much ram my computer has? I am running Ubuntu 13.04.

1

8 Answers

If you click on the gear icon (top right of your screen) then click on About this computer. The RAM is the 2nd entry down, below the computer name.

Edit

if you run sudo lshw -class memory in your terminal, this gives you the details of all available memory.

2

Also easy to use commands to check RAM:

free -lm

Using top command itself or:

top | grep -i mem

Similar to top but a bit more advanced is htop but the package has to be installed sudo apt-get install htop then run:

htop

Will output memory scale in terminal.

Also vmstat can do this:

vmstat -s -SM

In general

Please keep in mind - many solutions in this post will only show how much memory the operating system detects (e.g. 32bit without PAE can only see 4GB)

Detect memory slots and state using dmidecode

Assuming you have sudo permissions you can use the dmidecode command to detect the amount of memory slots and what is inserted into them right now.

Example usage:

sudo dmidecode

Or even better, filtered just for memory related informations:

sudo dmidecode -t 17

Outputs in my case:

# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x002F, DMI type 17, 34 bytes
Memory Device Array Handle: 0x002D Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: ChannelA_Dimm1 Bank Locator: ChannelA Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: A-DATA Serial Number: 0000762C Asset Tag: ChannelA_Dimm1_AssetTag Part Number: DDR3 1600G Rank: 2 Configured Clock Speed: 1333 MHz
Handle 0x0031, DMI type 17, 34 bytes
Memory Device Array Handle: 0x002D Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: No Module Installed Form Factor: DIMM Set: None Locator: ChannelA_Dimm2 Bank Locator: ChannelA Type: Unknown Type Detail: Synchronous Speed: Unknown Manufacturer: ChannelA_Dimm2_Manufacturer Serial Number: ChannelA_Dimm2_SerNum Asset Tag: ChannelA_Dimm2_AssetTag Part Number: ChannelA_Dimm2_PartNum Rank: Unknown Configured Clock Speed: Unknown
Handle 0x0033, DMI type 17, 34 bytes
Memory Device Array Handle: 0x002D Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: ChannelB_Dimm1 Bank Locator: ChannelB Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: A-DATA Serial Number: 000028C3 Asset Tag: ChannelB_Dimm1_AssetTag Part Number: DDR3 1600G Rank: 2 Configured Clock Speed: 1333 MHz
Handle 0x0035, DMI type 17, 34 bytes
Memory Device Array Handle: 0x002D Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: No Module Installed Form Factor: DIMM Set: None Locator: ChannelB_Dimm2 Bank Locator: ChannelB Type: Unknown Type Detail: Synchronous Speed: Unknown Manufacturer: ChannelB_Dimm2_Manufacturer Serial Number: ChannelB_Dimm2_SerNum Asset Tag: ChannelB_Dimm2_AssetTag Part Number: ChannelB_Dimm2_PartNum Rank: Unknown Configured Clock Speed: Unknown
Handle 0x0037, DMI type 17, 34 bytes
Memory Device Array Handle: 0x002D Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: ChannelC_Dimm1 Bank Locator: ChannelC Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: A-DATA Serial Number: 000028E7 Asset Tag: ChannelC_Dimm1_AssetTag Part Number: DDR3 1600G Rank: 2 Configured Clock Speed: 1333 MHz
Handle 0x0039, DMI type 17, 34 bytes
Memory Device Array Handle: 0x002D Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: No Module Installed Form Factor: DIMM Set: None Locator: ChannelC_Dimm2 Bank Locator: ChannelC Type: Unknown Type Detail: Synchronous Speed: Unknown Manufacturer: ChannelC_Dimm2_Manufacturer Serial Number: ChannelC_Dimm2_SerNum Asset Tag: ChannelC_Dimm2_AssetTag Part Number: ChannelC_Dimm2_PartNum Rank: Unknown Configured Clock Speed: Unknown
Handle 0x003B, DMI type 17, 34 bytes
Memory Device Array Handle: 0x002D Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: ChannelD_Dimm1 Bank Locator: ChannelD Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: A-DATA Serial Number: 000028F0 Asset Tag: ChannelD_Dimm1_AssetTag Part Number: DDR3 1600G Rank: 2 Configured Clock Speed: 1333 MHz
Handle 0x003D, DMI type 17, 34 bytes
Memory Device Array Handle: 0x002D Error Information Handle: Not Provided Total Width: 72 bits Data Width: 64 bits Size: No Module Installed Form Factor: DIMM Set: None Locator: ChannelD_Dimm2 Bank Locator: ChannelD Type: Unknown Type Detail: Synchronous Speed: Unknown Manufacturer: ChannelD_Dimm2_Manufacturer Serial Number: ChannelD_Dimm2_SerNum Asset Tag: ChannelD_Dimm2_AssetTag Part Number: ChannelD_Dimm2_PartNum Rank: Unknown Configured Clock Speed: Unknown
Invalid entry length (16). Fixed up to 11.

The output tells you about 8 slots, 4 being used, each featuring 4GB memory.

Detect memory using lshw

Assuming you have sudo permissions you can use the lshw command to detect the amount of memory slots and what is inserted into them right now.

Example usage:

lshw 

or just to get memory related informations:

lshw -class memory

Outputs in my case:

*-firmware description: BIOS vendor: American Megatrends Inc. physical id: 0 version: 3203 date: 11/26/2012 size: 64KiB capacity: 8128KiB capabilities: pci apm upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer acpi usb biosbootspecification uefi *-cache:0 description: L1 cache physical id: 5 slot: L1-Cache size: 32KiB capacity: 32KiB capabilities: internal write-back unified configuration: level=1 *-cache:1 description: L2 cache physical id: 6 slot: L2-Cache size: 256KiB capacity: 256KiB capabilities: internal varies unified configuration: level=2 *-cache:2 description: L3 cache physical id: 7 slot: L3-Cache size: 10MiB capacity: 10MiB capabilities: internal varies unified configuration: level=3 *-memory description: System Memory physical id: 2d slot: System board or motherboard size: 16GiB *-bank:0 description: DIMM DDR3 Synchronous 1333 MHz (0,8 ns) product: DDR3 1600G vendor: A-DATA physical id: 0 serial: 0000762C slot: ChannelA_Dimm1 size: 4GiB width: 64 bits clock: 1333MHz (0.8ns) *-bank:1 description: DIMM Synchronous [empty] product: ChannelA_Dimm2_PartNum vendor: ChannelA_Dimm2_Manufacturer physical id: 1 serial: ChannelA_Dimm2_SerNum slot: ChannelA_Dimm2 width: 64 bits *-bank:2 description: DIMM DDR3 Synchronous 1333 MHz (0,8 ns) product: DDR3 1600G vendor: A-DATA physical id: 2 serial: 000028C3 slot: ChannelB_Dimm1 size: 4GiB width: 64 bits clock: 1333MHz (0.8ns) *-bank:3 description: DIMM Synchronous [empty] product: ChannelB_Dimm2_PartNum vendor: ChannelB_Dimm2_Manufacturer physical id: 3 serial: ChannelB_Dimm2_SerNum slot: ChannelB_Dimm2 width: 64 bits *-bank:4 description: DIMM DDR3 Synchronous 1333 MHz (0,8 ns) product: DDR3 1600G vendor: A-DATA physical id: 4 serial: 000028E7 slot: ChannelC_Dimm1 size: 4GiB width: 64 bits clock: 1333MHz (0.8ns) *-bank:5 description: DIMM Synchronous [empty] product: ChannelC_Dimm2_PartNum vendor: ChannelC_Dimm2_Manufacturer physical id: 5 serial: ChannelC_Dimm2_SerNum slot: ChannelC_Dimm2 width: 64 bits *-bank:6 description: DIMM DDR3 Synchronous 1333 MHz (0,8 ns) product: DDR3 1600G vendor: A-DATA physical id: 6 serial: 000028F0 slot: ChannelD_Dimm1 size: 4GiB width: 64 bits clock: 1333MHz (0.8ns) *-bank:7 description: DIMM Synchronous [empty] product: ChannelD_Dimm2_PartNum vendor: ChannelD_Dimm2_Manufacturer physical id: 7 serial: ChannelD_Dimm2_SerNum slot: ChannelD_Dimm2 width: 64 bits

Show memory informations using free

You can use the free command to get informations about your memory.

Example usage:

free

Output:

 total used free shared buff/cache available
Mem: 16374920 4653296 155360 9349708 11566264 1953928
Swap: 16715772 4060816 12654956

Add the -h parameter to get a more human readable output

 total used free shared buff/cache available
Mem: 15G 4,4G 249M 8,9G 11G 1,9G
Swap: 15G 3,9G 12G

In case you want to monitor memory usage consider combining watch and freeas follows

watch free

This will output the normal free output seen above, but update it all 2 seconds (using watch)

Show memory informations using /proc/meminfo

You can use /proc/meminfo to get some memory informations as well.

Example:

cat /proc/meminfo

Output:

MemTotal: 16374920 kB
MemFree: 211408 kB
MemAvailable: 2036568 kB
Buffers: 34856 kB
Cached: 11248956 kB
SwapCached: 1572 kB
Active: 5451788 kB
Inactive: 10119984 kB
Active(anon): 4508180 kB
Inactive(anon): 9133120 kB
Active(file): 943608 kB
Inactive(file): 986864 kB
Unevictable: 13444 kB
Mlocked: 13444 kB
SwapTotal: 16715772 kB
SwapFree: 12654936 kB
Dirty: 1016 kB
Writeback: 0 kB
AnonPages: 4300076 kB
Mapped: 5466584 kB
Shmem: 9349796 kB
Slab: 309332 kB
SReclaimable: 230976 kB
SUnreclaim: 78356 kB
KernelStack: 17216 kB
PageTables: 77140 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 24903232 kB
Committed_AS: 28709200 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 1863680 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 737312 kB
DirectMap2M: 14934016 kB
DirectMap1G: 1048576 kB

As @Serg pointed out you should use awk to shrink the output down to the most essential

Example:

awk '/MemTotal/ || /SwapTotal/' /proc/meminfo 

Output:

MemTotal: 16374920 kB
SwapTotal: 16715772 kB

Show memory informations using vmstat

You can use the vmstat command as well.

Example:

vmstat

Output:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 3 0 4060888 238300 35576 11506488 0 2 120 55 17 4 18 6 74 2 0

It could be displayed more readable as follows:

vmstat -s -SM

Output:

 15991 M total memory 4467 M used memory 5322 M active memory 9837 M inactive memory 253 M free memory 34 M buffer memory 11235 M swap cache 16323 M total swap 3965 M used swap 12358 M free swap 17691507 non-nice user cpu ticks 21078371 nice user cpu ticks 13384959 system cpu ticks 161496078 idle cpu ticks 4951342 IO-wait cpu ticks 0 IRQ cpu ticks 40582 softirq cpu ticks 0 stolen cpu ticks 263184336 pages paged in 119297582 pages paged out 1824 pages swapped in 1018199 pages swapped out 1111772384 interrupts 2371898713 CPU context switches 1473060064 boot time 1983609 forks

Monitoring ram usage

There are several tools which help monitoring ram/ memory usage. I'll name some here

top and htop are both tools which constantly update the current memory usage.

htop

Using smem

smem reports usage with shared memory divided prportionally.

Example (sorted):

smem -r

Output:

 7948 USERNAME /usr/lib/firefox/firefox 0 975580 997022 1027100
23748 USERNAME /usr/bin/perl /usr/bin/shut 0 456392 459957 472116
16341 USERNAME /opt/google/chrome/chrome - 0 401220 405063 419520
22977 USERNAME /home/fpoeck/.dropbox-dist/ 0 240332 240487 245712
23751 USERNAME /usr/bin/python /usr/share/ 0 204524 205538 214656
32449 USERNAME /usr/lib/thunderbird/thunde 0 191124 191657 200892
13531 USERNAME /opt/atom/atom --type=rende 0 124740 131853 144340

Good way to check is to reference /proc/meminfo file. Most tools such as free, top, htop all use that file.

There's many lines there showing different statistics, but using AWK, we can filter out the totals. MemTotal line will show you the RAM. As a bonus, I've included total Swap as well.

$ awk '/MemTotal/ || /SwapTotal/' /proc/meminfo
MemTotal: 1789444 kB
SwapTotal: 524284 k
  1. Open System Settings.

  2. Click Details at the bottom of the panel.

  3. You will see details about your PC (such as RAM).

I like the output that sudo dmidecode -t 17 gives. Here's what it says about my machine:

# dmidecode 2.12
# SMBIOS entry point at 0x000f0480
SMBIOS 2.7 present.
Handle 0x0009, DMI type 17, 34 bytes
Memory Device Array Handle: 0x0007 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: A1_DIMM0 Bank Locator: A1_BANK0 Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: Undefined Serial Number: 000001D2 Asset Tag: A1_AssetTagNum0 Part Number: SLA302G08-EDJ1C Rank: 2 Configured Clock Speed: Unknown
Handle 0x000D, DMI type 17, 34 bytes
Memory Device Array Handle: 0x0007 Error Information Handle: Not Provided Total Width: 64 bits Data Width: 64 bits Size: 4096 MB Form Factor: DIMM Set: None Locator: A1_DIMM2 Bank Locator: A1_BANK2 Type: DDR3 Type Detail: Synchronous Speed: 1333 MHz Manufacturer: Undefined Serial Number: 0000017F Asset Tag: A1_AssetTagNum2 Part Number: SLA302G08-EDJ1C Rank: 2 Configured Clock Speed: 2 MHz

I like the fact that it gives you a simple human-readable description of how much RAM is in each slot - 2 x Size: 4096 MB in the example above (so I have 8GB RAM total). And that it breaks it down by slot, so you have a bit more idea about what your upgrade options are.

dmidecode (man page) tells you about your system's hardware. Specifying -t 17 filters by the "Memory Device" type.

Open a terminal: Ctrl +Alt + T

Then type: sudo lshw

Please try:

free -h

Output will be something like:

 total used free shared buff/cache available
Mem: 62G 49G 387M 723M 13G 12G
Swap: 0B 0B 0B
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like