How to Check Memory Usage on a Linux VPS Server

Memory is a critical resource that directly impacts the performance, stability, and security of your Linux VPS server. Monitoring memory usage enables you to optimize resource allocation, troubleshoot issues, plan for future needs, and maintain a secure and stable server environment.

To check memory usage on a Linux VPS server, you can use various command-line tools that provide information about the system’s memory utilization. Here are a few commonly used commands and tools:

Option 1: free Command

The free command is a simple and widely used tool to display the total amount of free and used physical and swap memory in the system. To check memory usage with free, run the following command:

free -h

The -h flag displays the results in a human-readable format, showing the values in kilobytes (K), megabytes (M), or gigabytes (G).

root@geeks:~# free -h
              total        used        free      shared  buff/cache   available
Mem:            15G        1.0G         12G         93M        2.1G         14G
Swap:            0B          0B          0B                                               

Option 2: vmstat Command

The vmstat command provides an overview of the system’s virtual memory usage, as well as information about processes, CPU activity, and block IO. To check memory usage with vmstat, run the following command:

vmstat -s

The -s flag displays the output in a human-readable format.

root@geeks:~# vmstat -s
     16424164 K total memory
      1031328 K used memory
      2025924 K active memory
       819004 K inactive memory
     13188532 K free memory
       189196 K buffer memory
      2015108 K swap cache
            0 K total swap
            0 K used swap
            0 K free swap
       606672 non-nice user cpu ticks
         4000 nice user cpu ticks
       309540 system cpu ticks
    455667033 idle cpu ticks
        32965 IO-wait cpu ticks
            0 IRQ cpu ticks
         5022 softirq cpu ticks
         4601 stolen cpu ticks
      1272205 pages paged in
     40078826 pages paged out
            0 pages swapped in
            0 pages swapped out
     84015815 interrupts
    131930730 CPU context switches
   1682601670 boot time
      1279747 forks

Option 3: top Command

The top command is a real-time, dynamic tool that provides a live, scrolling view of the system’s processes and resource usage, including memory. To check memory usage with top, run the following command:


Memory usage is displayed as two separate values: Mem for physical memory and Swap for swap memory. Press q to exit the top command.

root@geeks:~# top

top - 04:00:26 up 6 days, 14:39,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 172 total,   1 running, 104 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16424164 total, 13198136 free,  1021424 used,  2204604 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 14980364 avail Mem 

Option 4: htop Command

The htop command is an interactive process viewer similar to top, but with additional features and a more visually appealing interface. If not already installed, you can install htop with the following command:

sudo apt-get install htop    # Ubuntu/Debian
sudo yum install htop        # CentOS/RHEL

To check memory usage with htop, run the following command:


Memory usage is displayed as a color-coded bar at the top of the interface. Press F10 or q to exit the htop command.

root@geeks:~# htop
  1  [                                         0.0%]   5  [                                         0.0%]
  2  [                                         0.0%]   6  [                                         0.0%]
  3  [                                         0.0%]   7  [                                         0.0%]
  4  [                                         0.0%]   8  [                                         0.0%]
  Mem[|||||||||||                       1.07G/15.7G]   Tasks: 61, 79 thr; 1 running
  Swp[                                        0K/0K]   Load average: 0.06 0.01 0.00
                                                       Uptime: 6 days, 14:40:57                                                                                                              


You now know several commands to check memory usage on a Linux VPS server. Regularly monitoring memory usage helps identify potential performance issues, optimize resource allocation, and troubleshoot problems. By using these tools, you can ensure that your server runs smoothly and efficiently.

See also  How to Install Subversion 1.6.16 on CentOS 5.5 Server

Memory is an essential resource in any computing system, as it serves as temporary storage for data and instructions while the processor carries out its tasks. In a Linux VPS server, memory plays a crucial role in handling multiple processes, services, and applications running on the system. Monitoring memory usage is vital for several reasons:

  • Optimizing performance: Monitoring memory usage allows you to identify potential bottlenecks or resource-intensive processes that may be affecting the overall performance of your server. You can then optimize or adjust these processes to ensure smooth and efficient operation.
  • Resource allocation: By keeping an eye on memory usage, you can determine if the system has adequate resources to handle the current workload or if you need to allocate additional memory to improve performance. This information is particularly useful when deciding whether to upgrade your VPS plan or scale your infrastructure.
  • Troubleshooting: When your server encounters issues, such as slow response times or application crashes, monitoring memory usage can help pinpoint the cause. High memory usage or memory leaks could indicate a problem with specific applications or services, allowing you to take corrective action to resolve the issue.
  • Capacity planning: Regularly monitoring memory usage provides insights into the resource consumption patterns of your server over time. This information is valuable for capacity planning, as it helps you predict future resource requirements and plan infrastructure upgrades accordingly.
  • Preventing system crashes: Insufficient memory or high memory usage can lead to system crashes or instability. By monitoring memory usage, you can identify and address memory-related issues before they escalate and cause severe problems.
  • Security: Monitoring memory usage can help detect unusual activity, which might indicate a security breach or malware infection. Unusual spikes in memory usage could be a sign of a compromised system, prompting further investigation and mitigation measures.
See also  How to Setup phpMyAdmin 3.5.1 on CentOS 6.2 using Remi Repository

If you have any questions, comments, or suggestions for improvement, please feel free to share your thoughts in the comments section below. Your feedback is invaluable to us, and it helps us create better and more informative content for our users.


1 Comment

Leave a Reply

Your email address will not be published. Required fields are marked *