A Raspberry Pi computer has a fixed amount of RAM built into the PC board. Since Raspberry Pi’s are micro sized, single board computers, the amount of memory is not upgradeable or expandable. Instead, you would need to purchase a more robust Raspberry Pi model or opt for one of the Pi’s that come with more RAM. Different Raspberry Pi models have various amounts of RAM that come installed. Some Raspberry Pi models can have varying amounts of RAM, along with different price points.
In this tutorial, we will cover the step by step instructions to check the RAM size for a Raspberry Pi. Then, we will see how to check the current amount of RAM usage with various tools.
In this tutorial you will learn:
- How to check Raspberry Pi RAM size
- How to check current RAM usage of Raspberry Pi
|Category||Requirements, Conventions or Software Version Used|
|Other||Privileged access to your Linux system as root or via the
# – requires given linux commands to be executed with root privileges either directly as a root user or by use of
$ – requires given linux commands to be executed as a regular non-privileged user
How to check Raspberry Pi RAM size
Since the Raspberry Pi runs a Linux operating system, we can determine the amount of installed RAM the same way we would on any other Linux system.
Check out some of the methods below to see various Linux commands that reveal the total amount of memory in a Raspberry Pi computer.
- The free command will give us information about current RAM usage, and break down how it is being utilized across our system. But it also gives us a clear indicator of exactly how much memory we have installed in our system. For best results, we recommend using the
-toptions. This will tell free to display RAM amounts in Gigabytes, make the amounts human readable, and give us the totals, respectively.
$ free -ght
You can ignore the swap memory here since that is not physically installed RAM. The line you want to pay attention to is the very first one. In our example, we have 3.7 GiB (gibibytes), or 4 GB (gigabytes) of RAM installed.
- The next method is not actually a command, but a file. The
meminfofile contains a lot of information about the RAM installed in our system, and is what many other commands query in order to display their data. You can just use
lessto view the file:
$ less /proc/meminfo
The very first line displays what you need to see. But you may also be interested in the plethora of other information displayed by this file.
lshwcommand can detect the number of RAM slots used, speed, and size. You must execute this command with root permissions.
$ sudo lshw -C memory -short
How to check current RAM usage on Raspberry Pi
Now we know how much RAM, total, is installed on our Raspberry Pi. But the next thing you will be wondering is how that memory is being utilized by your system. In other words, how much RAM is available or being used, and what programs or applications are currently using it? There are a few tools to determine this on the Raspberry Pi.
We have already covered the
free command in the section above, since it is a handy tool to see the total amount of RAM installed on a Raspberry Pi. But we can also use the
free command to monitor RAM usage. When running the free command, it shows the current RAM utilization at that moment in time. But free also has some options for running continuously, in case you need to keep an eye on the usage for a while.
This is handy if you want to see how memory is impacted while performing certain tasks on your Raspberry Pi, such as opening a resource intensive program.
-s (seconds) switch allows
free to run continuously, issuing new output every specified number of seconds. For example, to run the
free command every 3 seconds:
$ free -s 3
To stop free from running, just press
Ctrl + C.
If you only want
free to run a certain number of times, you can use the
-c (count option). For example, this command would run
free 3 times, before exiting the program:
$ free -c 3
-s option, the count option issues new output every second. But feel free to combine both switches to get the exact behavior you want. For example, to make
free human readable and output memory usage every 5 seconds, 20 times:
$ free -h -s 5 -c 20
free command does a great job of showing us the overall RAM utilization on a Raspberry Pi, it does not tell us which tasks are consuming the memory. That is where the
top command excels, displaying the memory utilization for every process on the system.
Pay attention to the %MEM column in your terminal:
To sort the programs in top by memory usage, press
Shift + m while running
top. This will allow you to see which processes are hogging the most memory at a quick glance, and you can continually monitor their usage. Just press
q to exit
How about a program that combines the best of both worlds? The
htop utility can show us overall RAM utilization in a clear way, continually update the statistics, as well as show us how much memory each process is using on your Raspberry Pi.
In case the program is not already installed on your Raspberry Pi, you can execute the following command to install it:
$ sudo apt install htop
Once it is installed, just type
htop to run the program:
RAM utilization across the whole Raspberry Pi is displayed at the top of the screen. To sort processes by memory usage, press F6 and then select
%MEM using your keyboard’s arrow keys. Exit
htop at any time by pressing
In this tutorial, we saw how to check the total size of RAM installed in a Raspberry Pi. We also learned how to determine the current RAM usage, both by total and by sorting which programs are using the most memory. Although we can’t expand the amount of installed RAM in our Raspberry Pi, we can use the tools in this tutorial to manage it effectively.