Know The Concept Behind Memory Utilization In Linux

Here are the top commands to check your Memory usage on Linux

memory utilization

Linux is one of the popularly known and widely used Open Source operating system. According to the Wikipedia's definition, Linux is a family of open source and free software operating systems that are built around the Linux Kernel.

Basically, Linux is packaged in a form known as the Linux Distro also known as Linux Distribution for both servers as well as desktop use.

Linux as an operating system is a software that resides under all of the various other software on a computer system for the purpose of receiving requests from several programs and then to relay these received request towards the computer's hardware.

For a majority of Unix compatible operating systems, an important factor in determining the performance is the total amount of physical memory that is available for usage. Linux operates heavily on commands i.e. there are commands for almost every operation in Linux.

This is because the GUI might not always be available at your service and that's when these Linux commands come into action. Even when the user works on servers, then only the shell access is available so every task has to be performed in Linux using these commands.

Commands to Check Memory Usage

Here are the top commands to check the Memory Usage in Linux operating system:

Checking memory plays an important role because then the end-user will be aware of how much memory has been utilized as per the processes executed on the servers in Linux.

Let's take an example of a website - Suppose a user is running a web server, this means that the server must have enough amount of memory to serve the visitors of that particular website. If there is not enough memory then the website will become really slow and there's even a possibility of the website to do down when faced with a user traffic hike.

So, there is a slight possibility of your website to do down if there is a short of memory, this is similar to what happens to the desktop PCs as well.


$ vmstat -s
     8167848 K total memory
     7449376 K used memory
     3423872 K active memory
     3140312 K inactive memory
      718472 K free memory
     1154464 K buffer memory
     2422876 K swap cache
     1998844 K total swap
           0 K used swap
     1998844 K free swap
      392650 non-nice user cpu ticks
        8073 nice user cpu ticks
       83959 system cpu ticks
    10448341 idle cpu ticks
       91904 IO-wait cpu ticks
           0 IRQ cpu ticks
        2189 softirq cpu ticks
           0 stolen cpu ticks
     2042603 pages paged in
     2614057 pages paged out
           0 pages swapped in
           0 pages swapped out
    42301605 interrupts
    94581566 CPU context switches
  1382755972 boot time
        8567 forks

The vmstat is a very effective tool that lays out the virtual memory usage statistics similar to the proc command. This vmstat command goes with the s option and below are the elements on which the user receives the memory usage reports:

  • CPU
  • Block I/O
  • Memory
  • Processes
  • Disks

By issuing the vmstat -s command, the user will also get virtual memory reports on other processes like Traps and Paging. The report will be shown in a single column statistics as shown in the image above.


$ cat /proc/meminfo
MemTotal:        8167848 kB
MemFree:         1409696 kB
Buffers:          961452 kB
Cached:          2347236 kB
SwapCached:            0 kB
Active:          3124752 kB
Inactive:        2781308 kB
Active(anon):    2603376 kB
Inactive(anon):   309056 kB
Active(file):     521376 kB
Inactive(file):  2472252 kB
Unevictable:        5864 kB
Mlocked:            5880 kB
SwapTotal:       1998844 kB
SwapFree:        1998844 kB
Dirty:              7180 kB
Writeback:             0 kB
AnonPages:       2603272 kB
Mapped:           788380 kB
Shmem:            311596 kB
Slab:             200468 kB
SReclaimable:     151760 kB
SUnreclaim:        48708 kB
KernelStack:        6488 kB
PageTables:        78592 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     6082768 kB
Committed_AS:    9397536 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      420204 kB
VmallocChunk:   34359311104 kB
HardwareCorrupted:   0 kB
AnonHugePages:      0 kB                                                                                      
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       62464 kB
DirectMap2M:     8316928 kB

The commands that we are discussing for checking the memory usage in Linux mostly extract data from the proc file. So, instead of running other memory usage commands you can directly open the proc file to see the memory usage statistics by running the proc/meminfo command.

Even though proc/meminfo is a virtual file but it contains the real-time dynamic information about the Linux system and its memory usage. Below are the processes for which proc file provides statistics.

  • Buffers
  • Cached
  • MemFree
  • MemTotal
  • SwapFree
  • SwapTotal

free command

$ free -m
            total used       free shared buffers     cached
Mem:          7976 6459       1517 0 865       2248
-/+ buffers/cache:       3344 4631
Swap:         1951 0       1951

The free command is the simplest command in memory utilization in Linux that is used to check the memory usage in the system. This command is used when the user needs to see the status of the amount of memory that is free in the system along with the used memory reports.

So the free command, when executed mainly displays these three memory statistics:

  • The total amount of the swap memory in the system
  • All the caches and buffers used by the system's Kernel
  • The total amount of the free as well as the used physical memory of the system.

The user can easily issue this command from the terminal window but he/she needs to know that the output of the free command is not in real-time.

top command

top - 15:20:30 up  6:57, 5 users, load average: 0.64, 0.44, 0.33
Tasks: 265 total,   1 running, 263 sleeping,   0 stopped, 1 zombie
%Cpu(s):  7.8 us, 2.4 sy,  0.0 ni, 88.9 id, 0.9 wa,  0.0 hi, 0.0 si, 0.0 st
KiB Mem:   8167848 total,  6642360 used, 1525488 free,  1026876 buffers
KiB Swap:  1998844 total,        0 used, 1998844 free,  2138148 cached

 PID USER      PR NI VIRT RES  SHR S %CPU %MEM TIME+  COMMAND                                                             
2986 enlighte  20 0 584m 42m  26m S 14.3 0.5 0:44.27 yakuake                                                                                 
1305 root      20 0 448m 68m  39m S 5.0 0.9 3:33.98 Xorg                                                                                    
7701 enlighte  20 0 424m 17m  10m S 4.0 0.2 0:00.12 kio_thumbnail

The top command offers a real-time and dynamic view of your running system. We also use the top command in discovering the PIDs that are the Process ID numbers of the services. The PIDs helps the user in narrowing out the tasks that lead to troubleshooting issues.  

Also, the top command provides the user the real-time update on the statistics of how much swap space is currently being used in the system.

With the top command the user can check:

  • The memory as well as CPU usage per process
  • Reports the total memory usage
  • Real-time monitoring of RAM usage


The command of dmidecode is only used when the user needs to get detailed information about his/her installed RAM system. For making these details into a human-readable format, the particular tool of the DMI table decoder is used. The DMI table will mainly inform you in detail about what the system is made of.

So, these are some of the best Linux commands to try out in order to check the memory utilization and memory usage. And if you agree with the above-mentioned commands and their usage. Then let us know if you think this article was helpful by clicking on the 'Yes' option below.

Twinkle <span>Product Strategist</span>
Written By
Twinkle Product Strategist

Twinkle is an experienced business and marketing consultant of the mobile app industry. She advocates perfect branding to the latest tech releases. She is passionate about writing well-researched reports to help the app owners and the mobile app industry audience. Also, she has a vibrant touch that goes well in her writing as well.


Apple Is Secretly Designing & Testing Its Owned Manufactured Screens

4 min read  

Apple is covertly working on a self-manufactured display for its devices at a small manufacturing unit near its California headquarter. This is the first time when iPhone maker is designing the screens, the company is producing a small number of displays for the testing purpose.According to the


Stop Google Apps Tracking On Android Follow The Tricks

4 min read  

Do you realize that almost all the applications on your Android device collect data to a great extent? Yes, you did not give much importance to this fact until now, we are going to guide you why it is important to know and understand the tricks to stop Google from tracking your Android phones. This


10 Great Benefits of Using Mobile Apps in Education

4 min read  

There are over 62,000 education-related apps available in the various app stores, which are revolutionizing education. But how? Today’s students benefit from the powerful new ways of mobile technology and mobile apps take away a major chunk of it. Mobile apps are taking education out


How does Instagram’s Algorithm work and what does it mean for Advertisers

4 min read  

When, in July of 2016, Instagram first introduced its algorithm; everything changed!And since then, there is one question that still hasn't been answered properly and that is...'How exactly does the Instagram feed work?'OR‘How does Instagram's algorithm work?&rs

MAD Originals
MAD Originals

Cut to the chase content that’s credible, insightful & actionable.

Get the latest mashup of the App Industry Exclusively Inboxed

  • BOTH