Knowledge Base Article

How to monitor high CPU, memory, and load average usage in Linux [Linux]

In this guide, we’ll cover step-by-step how to use commands like top and ps to identify resource-hungry processes, and how to interpret the load average. By the end, you’ll be able to spot which processes are causing slowdowns and decide what action to take.

When troubleshooting a slow Linux system, two of the most common culprits are high CPU usage and memory pressure. Alongside these, the load average provides valuable insight into how busy your system is. Understanding how to check these metrics and interpret them correctly is essential for diagnosing performance issues.

In this guide, we’ll cover step-by-step how to use commands like top and ps to identify resource-hungry processes, and how to interpret the load average. By the end, you’ll be able to spot which processes are causing slowdowns and decide what action to take.

Step-by-Step Guide:

Checking CPU and Memory Usage with top

The top command provides a real-time view of what’s happening on your system.

$ top

Key sections to focus on:

  • %Cpu(s): Shows CPU usage breakdown. High user (us) or system (sy) percentages indicate a heavy workload.
  • Mem & Swap: Displays memory and swap usage. If swap usage is high, your system is running out of RAM.
  • Process list: At the bottom, you’ll see processes consuming resources. By default, it’s sorted by CPU usage.

Pro tip: While inside top, press Shift+M to sort by memory usage, or Shift+P to sort by CPU.

Using ps to List High Resource Processes

The ps command is another handy tool for listing processes, and it’s especially useful when combined with sorting options.

Processes consuming the most memory:

$ ps -eo pid,comm,%mem,%cpu --sort=-%mem | head -10

This shows the top 10 processes by memory usage.

Processes consuming the most CPU:

$ ps -eo pid,comm,%cpu,%mem --sort=-%cpu | head -10

Columns explained:

  • pid → Process ID
  • comm → Command (program name)
  • %mem → Memory usage percentage
  • %cpu → CPU usage percentage

List the top 10 processes consuming the most memory, with usage displayed in MB:

$ ps aux | grep -v grep | awk '{print $6/1024 " MB\t\t"$11;}' | sort -n | tail -10

 

Understanding Load Average

The load average tells you how many processes are waiting for CPU time. You’ll see it in the output of top, uptime, or w:

$ uptime

$ w

Example output:

17:03:14 up 2 days,  4:51,  2 users,  load average: 0.80, 1.05, 0.98

The three numbers represent the average system load over the last 1, 5, and 15 minutes.

How to interpret:

A load average of 1.00 means one process is running or waiting for CPU. If you have a single-core CPU, values consistently above 1.00 mean the system is overloaded. For a 4-core CPU, a load average of 4.00 means full utilization.

Rule of thumb: Compare load average to the number of CPU cores (nproc shows how many you have).

 

Additional Useful Commands

free -h → Check memory and swap usage in a human-readable format.

vmstat 5 → Monitor processes, memory, paging, block I/O, and CPU activity every 5 seconds.

htop (if installed) → A friendlier, colorful alternative to top with easier navigation.

 

Conclusion

Monitoring system performance in Linux doesn’t need to be complex. With just a few commands—top, ps, and uptime—you can quickly determine whether high CPU, memory, or load average is slowing down your system.

By regularly checking these metrics, you’ll be able to:

  • Identify which processes are consuming the most resources
  • Understand whether your system is overloaded
  • Take action to optimize or terminate resource-heavy processes

Mastering these tools is an essential skill for any Linux user, whether you’re managing a personal server or working in production environments.

References/Related Content 

Disclaimer: This post outlines a potential custom workaround for a specific use case or provides instructions regarding a specific task. The solution may not work in all scenarios or Sisense versions, so we strongly recommend testing it in your environment before deployment. If you need further assistance with this, please let us know.

Published 09-12-2025
No CommentsBe the first to comment