Home » #Technology » How to Free Up Memory in Linux Server

How to Free Up Memory in Linux Server

If your Linux servers are running slow or facing memory issues, it’s time for a tech cleanup. With 18+ years of experience building enterprise applications, I’ve learned that you must regularly get your hands dirty with the servers running your code. Armed with the right knowledge, you can quickly free up memory and enhance your system’s performance. In this tech guide, we’ll walk you through various techniques to manage RAM and swap space, kill unnecessary processes, and clean up your system. Whether you’re a beginner or an advanced user, these proven steps will help you optimize memory usage on your Linux machine.

Step 1: Check Memory Usage

Before you begin freeing up memory, it’s essential to identify what’s consuming your resources. Here’s how to check memory usage on Linux:

  • Check RAM Usage:
  free -h

This command shows the total, used, and available memory.

  • Check Processes Using Memory:
    Use the top or htop command to see a list of processes and their memory usage:
  top

Or, if htop is not installed:

  sudo apt install htop
  htop

This helps you identify memory-hogging applications and processes that you might want to terminate.

Step 2: Kill Unnecessary Processes

Once you’ve identified unnecessary processes consuming memory, you can kill them to free up RAM.

  • Kill Process by Name:
  pkill process_name

Example:

  pkill firefox
  • Kill Process by PID (Process ID):
    First, find the PID of the process:
  ps aux | grep process_name

Then, kill the process:

  kill -9 PID

By eliminating unnecessary processes, you can quickly reclaim used memory.

Step 3: Clear Cached Memory

Linux caches a portion of RAM for system processes, but you can clear it when necessary to free up space.

  • Clear PageCache only:
  sudo sync; echo 1 > /proc/sys/vm/drop_caches
  • Clear dentries and inodes:
  sudo sync; echo 2 > /proc/sys/vm/drop_caches
  • Clear PageCache, dentries, and inodes:
  sudo sync; echo 3 > /proc/sys/vm/drop_caches

These commands free up memory used for system caching without disrupting your running applications.

Step 4: Increase Swap Space

If your system is running low on RAM, Linux will use swap space as a backup. To prevent memory shortages, you can increase your swap space.

  1. Check Current Swap Space:
  swapon --show
  1. Create a Swap File:
  1. Create a 1GB swap file: sudo fallocate -l 1G /swapfile
  2. Set correct permissions: sudo chmod 600 /swapfile
  3. Set up the swap file: sudo mkswap /swapfile
  4. Enable the swap file: sudo swapon /swapfile
  5. Make the swap file permanent by adding it to /etc/fstab:
    bash echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
  1. Adjust Swappiness:

Swappiness controls how often Linux uses swap instead of RAM. The default value is 60, but you can lower it to reduce swap usage.

  • Check current swappiness:
  cat /proc/sys/vm/swappiness
  • Change swappiness value (e.g., to 10):
  sudo sysctl vm.swappiness=10
  • To make the change permanent, add this line to /etc/sysctl.conf:
  vm.swappiness=10

Increasing swap space ensures your system can handle more tasks even when RAM is full.

Step 5: Remove Unnecessary Services and Startup Programs

Some background services and startup applications may consume memory unnecessarily. Disabling them can free up resources.

  • Check Running Services:
  systemctl list-units --type=service
  • Disable Unwanted Services:
  sudo systemctl disable service_name

This step ensures that only essential services are running, preventing excessive memory usage.

Step 6: Uninstall Unnecessary Applications

Removing applications you don’t use can also free up memory and storage.

  • Uninstall via APT:
  sudo apt remove --purge package_name
  • Clean Up Leftover Dependencies:
  sudo apt autoremove
  • Clean Up Unused Package Caches:
  sudo apt clean

These commands keep your system clean and lightweight, freeing up memory and disk space.

Step 7: Use ZRAM for Compressed Swap in RAM

ZRAM is a compressed swap space in RAM that helps reduce the need for disk-based swap, improving performance.

  • Install and enable ZRAM:
  sudo apt install zram-config

ZRAM optimizes memory usage by compressing data in RAM, which can significantly improve system responsiveness.

Step 8: Reboot the System

If none of the above methods work or memory consumption remains high, a simple reboot can free up memory by clearing out all running processes, caches, and swap.

  • Reboot the system:
  sudo reboot

A reboot is a quick fix that resets memory usage and can help stabilize performance.

My Advice: By following these proven steps, you can effectively free up memory in Linux and keep your system running smoothly. From killing unnecessary processes to increasing swap space and using ZRAM, these techniques allow you to optimize memory usage based on your needs. Regular maintenance, such as clearing cached memory and uninstalling unused applications, will ensure your Linux machine stays fast and efficient.

#AskDushyant
#TechTool #Linux #Server #CodeSnippet

Leave a Reply

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