Computer Hardware

Check CPU And Memory In Linux

Have you ever wondered how to efficiently monitor the CPU and memory usage in a Linux system? It's a crucial aspect of performance optimization and troubleshooting. Understanding the state of your system's resources is essential for maintaining stability and ensuring smooth operations. Let's explore the importance of checking the CPU and memory in Linux.

In Linux, checking the CPU and memory usage is a fundamental task for system administrators and developers. By monitoring these resources, you can identify potential bottlenecks, track trends, and make informed decisions to optimize system performance. On top of that, it enables you to diagnose issues promptly and allocate resources effectively. With tools like the top command or the htop interactive process viewer, you can gain real-time insights into CPU utilization and memory usage. By keeping a close eye on these metrics, you can maintain the health and efficiency of your Linux system.



Check CPU And Memory In Linux

Introduction to Checking CPU and Memory in Linux

In a Linux system, monitoring the CPU and memory usage is essential for system administrators and developers to optimize performance and troubleshoot issues. Linux provides various tools and commands to check CPU and memory utilization and gather information about system resources.

Checking CPU Usage

To check the CPU usage in Linux, we can leverage several commands and tools. One commonly used command is top, which provides an interactive and real-time view of system processes and their resource consumption. Running the command top in the terminal displays a summary of system statistics, including CPU usage.

The htop command is a more advanced alternative to top, offering a colorful and interactive interface. It provides detailed information about CPU usage, including a breakdown of CPU utilization by individual processes.

An additional useful command is mpstat, which stands for Multiprocessor Statistics. It provides detailed information about CPU usage on multi-processor systems. Running mpstat with the -P ALL option will display CPU usage for each individual processor.

The pidstat command, part of the sysstat package, focuses on process-related statistics. Specifically, it provides CPU usage statistics for individual processes along with other resource-related metrics.

Using the "top" command

The "top" command provides a real-time overview of CPU usage and other system metrics. Here's how to use it effectively:

  • Open a terminal and type top
  • The default view shows the most CPU-consuming processes at the top
  • Press Shift + P to sort processes by CPU usage
  • Press Shift + M to sort processes by memory usage
  • Press 1 to display CPU usage for each CPU core individually
  • Press h for help and additional options

The "top" command provides a wealth of information beyond just CPU usage, making it a versatile tool for monitoring system performance.

Using the "htop" command

To use the "htop" command, follow these steps:

  • Open a terminal and type htop
  • The colorful interface displays CPU usage and other metrics in real-time
  • Use the arrow keys to navigate through processes
  • Press F6 to sort processes by different criteria, including CPU usage
  • Press F2 to customize the settings
  • Refer to the help function by pressing F1

The "htop" command offers an intuitive and comprehensive way to monitor CPU usage and manage processes on a Linux system.

Using the "mpstat" command

To utilize the "mpstat" command, perform the following steps:

  • Open a terminal and type mpstat -P ALL
  • The command displays CPU usage statistics for each processor individually
  • Utilize mpstat -P CPU_NUMBER to display statistics for a specific CPU
  • Use mpstat -I CPU to display per-processor interrupt statistics
  • Refer to the manual page for more options and details on the "mpstat" command

The "mpstat" command is particularly beneficial when analyzing CPU usage on systems with multiple processors.

Using the "pidstat" command

The "pidstat" command enables monitoring of process-level CPU usage. To effectively use "pidstat," follow these steps:

  • Open a terminal and type pidstat -p PID
  • Replace "PID" with the process ID (e.g., pidstat -p 1234)
  • The command displays CPU usage statistics for the specified process at regular intervals
  • Use the -r option to collect memory statistics as well
  • Refer to the manual page of the "pidstat" command for additional options and details

"pidstat" is a powerful tool for monitoring CPU and memory usage on a per-process basis, aiding in identifying resource-intensive applications.

Checking Memory Usage

In addition to CPU usage, monitoring memory usage is crucial for maintaining system performance and stability. Linux provides several commands and tools to check memory consumption and analyze memory-related statistics.

The free command is a commonly used command-line tool for checking memory usage on Linux systems. It provides an overview of total, used, and available memory, as well as information about swap space. Running free -h displays memory usage in human-readable format.

Another useful command is top, which we mentioned earlier for CPU usage. In addition to CPU statistics, top displays memory-related information, such as total memory, used memory, and memory allocation by processes.

The vmstat command provides detailed information about virtual memory statistics, including memory usage, swapping, paging, and more. Running vmstat with the -s option displays a summary of memory-related statistics.

Lastly, the pmap command displays memory usage for specific processes. By specifying the process ID (PID) with pmap, you can gather information about the memory map of the process.

Using the "free" command

To check memory usage using the "free" command:

  • Open a terminal and type free
  • The command displays memory-related statistics, including total, used, and available memory
  • Use free -h for human-readable output
  • Explore the manual page or free --help for additional options and details

The "free" command provides a quick way to get an overview of memory usage on a Linux system.

Using the "top" command

To use the "top" command for memory monitoring:

  • Open a terminal and type top
  • Press f to enter the fields management mode
  • Use the arrow keys to navigate and select memory-related fields (e.g., %MEM, RSS, VIRT)
  • Press b to sort processes by memory usage
  • Refer to the help function by pressing h for more options

The "top" command provides a comprehensive view of memory usage along with CPU statistics, making it an efficient tool for monitoring system resources.

Using the "vmstat" command

To gather memory-related statistics with the "vmstat" command:

  • Open a terminal and type vmstat -s
  • The command provides a summary of virtual memory statistics
  • Review the output to understand memory usage, swapping, paging, and other relevant metrics
  • Explore additional options in the manual page or by running vmstat --help

The "vmstat" command provides comprehensive information about memory usage and virtual memory statistics on a Linux system.

Using the "pmap" command

The "pmap" command is useful for examining memory usage on a per-process basis:

  • Open a terminal and type pmap PID
  • Replace "PID" with the process ID of the desired process (e.g., pmap 1234)
  • The command displays the memory map of the specified process, including memory regions and their sizes
  • Refer to the manual page for more options and details on the "pmap" command

The "pmap" command is valuable when analyzing the memory footprint of specific processes, helping identify memory-intensive areas.

Exploring the Performance and Health of Your Linux System

Aside from checking CPU and memory usage, Linux provides numerous additional tools and commands for system performance analysis and health monitoring.

Using the "sar" command

The "sar" command is a powerful tool for system monitoring and performance analysis. It collects and reports system-wide resource utilization statistics at regular intervals. Here are some key points about the "sar" command:

  • Install the "sysstat" package to use the "sar" command
  • Open a terminal and type "sar" followed by options and parameters
  • Explore "sar" options such as "-u" for CPU usage, "-r" for memory statistics, and "-n" for network-related metrics
  • Use flags like "-f" to read data from a specific file and "-o" to save the output in a file
  • Refer to the manual page of "sar" for more information on options and usage

The "sar" command helps system administrators analyze historical resource utilization patterns and identify performance bottlenecks.

Using the "atop" command

The "atop" command provides detailed system-level performance analysis and monitoring. It combines the functionalities of "top" and "sar" into a single tool. Here are some key points about the "atop" command:

  • Install the "atop" package to use the "atop" command
  • Open a terminal and type "atop"
  • The "atop" command displays an interactive overview of CPU, memory, disk, and network usage, among other metrics
  • Use arrow keys to navigate and press "h" for help on navigating and customizing the display
  • Press "t" to toggle between CPU and memory views
  • Refer to the manual page of "atop" for more information on options and usage

The "atop" command offers a comprehensive view of system resource utilization and is particularly useful for troubleshooting performance issues.

Using the "iotop" command

The "iotop" command is specifically designed for monitoring I/O (Input/Output) usage on Linux systems. It allows you to track disk I/O by individual processes and provides valuable insights into disk performance. Here are some key points about the "iotop" command:

  • Install the "iotop" package to use the "iotop" command
  • Open a terminal and type "iotop"
  • The "iotop" command displays real-time disk I/O usage by processes, with the most active processes shown at the top
  • Use the arrow keys to scroll through processes, press "o" to change the sorting order
  • Press "p" to toggle between I/O rates and accumulated I/O
  • Refer to the manual page of "iotop" for more information on options and usage

The "iotop" command is invaluable for identifying processes that are causing high disk I/O and can aid in troubleshooting slow disk performance.

Using the "nmon" command

How to Monitor CPU and Memory Usage in Linux

Knowing how to check CPU and memory usage in Linux is essential for system administrators and professionals. Monitoring these resources helps identify any performance issues and allows for effective troubleshooting and optimization. Here are two methods to accomplish this:

Command Line: top and htop

One way to check CPU and memory usage is through the command line using tools like top or htop. These commands provide real-time data on CPU usage, memory consumption, and other system statistics. They display useful information, such as the processes consuming the most resources, allowing you to identify any bottlenecks or excessive resource usage.

Graphical User Interface: System Monitor

Another option is to use the graphical user interface (GUI), such as the System Monitor tool. This tool, available in various Linux distributions, provides an intuitive interface to monitor CPU and memory usage. It displays detailed information, including CPU load, memory usage, and network activity, in a visually pleasing manner. You can also customize the displayed information and view historical data.


Key Takeaways - Check CPU and Memory in Linux

  • Monitoring CPU and memory usage is essential for optimal system performance.
  • In Linux, you can check CPU usage using commands like top, htop, and mpstat.
  • Memory usage can be monitored with commands like free, vmstat, and top.
  • Understanding CPU wait time can help identify performance bottlenecks.
  • Knowing the available free memory can prevent system slowdowns and crashes.

Frequently Asked Questions

In this section, we will explore some common questions about how to check CPU and memory usage in Linux.

1. How can I check CPU utilization in Linux?

To check CPU utilization in Linux, you can use the 'top' command. Open the terminal and type 'top' to access the real-time monitoring of CPU usage. You will see a detailed list of running processes, along with CPU usage percentages for each process. You can also use the 'htop' command, which provides a more user-friendly and interactive interface for monitoring CPU utilization.

Another way to check CPU utilization is by using the 'mpstat' command. This command gives you a summary of CPU usage, including information about individual CPU cores. It provides details such as the percentage of CPU used by user processes, system processes, and idle time.

2. How do I check memory usage in Linux?

There are several commands you can use to check memory usage in Linux. One commonly used command is 'free'. When you run the 'free' command, it will display information about total memory, used memory, free memory, and memory usage by buffers/cache. You can also use the '-h' option for a more human-readable output.

An alternative command to check memory usage is 'top'. In addition to CPU utilization, 'top' provides information about memory usage as well. By default, it displays the total memory, used memory, and free memory.

3. How can I check the memory usage of a specific process in Linux?

To check the memory usage of a specific process in Linux, you can use the 'ps' command. First, identify the process ID (PID) of the process you want to check. You can find the PID by using the 'ps' command with options like 'aux' or 'ef'. Once you have the PID, use the 'pmap' command followed by the PID to display detailed information about the process's memory usage. This will include information such as total memory usage, memory mapped files, shared libraries, and more.

Another command you can use is 'top'. Start 'top' by typing 'top' in the terminal, and then press 'Shift+f' to bring up the sorting menu. Use the arrow keys to select the 'SZ' option and press 'Enter' to apply the sorting. This will display the processes sorted by memory usage.

4. How do I check the CPU and memory usage history in Linux?

To check the CPU and memory usage history in Linux, you can use the 'sar' command. The 'sar' command is part of the 'sysstat' package, which you may need to install if it is not already available on your system. Once installed, you can use the 'sar' command followed by specific options like '-u' for CPU usage and '-r' for memory usage to display historical data over a specified time period.

Another option is to use monitoring tools like 'Nagios' or 'Zabbix' which provide graphical interfaces to track and analyze CPU and memory usage history. These tools can help you visualize the data and identify any performance issues or trends over time.

5. How can I free up memory in Linux?

To free up memory in Linux, you can use the 'sync' command followed by the 'echo 3' command. This will force the system to write any pending data from memory to disk and then drop the cache, freeing up memory space. Keep in mind that this operation may have a temporary performance impact as the system will need to reload cached data if it is accessed again.

Another method to free up memory is by identifying and terminating unnecessary processes or services that consume a large amount of memory. You can use the 'top' or 'htop' command to find these processes and then use the 'kill' command followed by the process ID (PID) to terminate them.



To summarize, checking CPU and memory in Linux is an essential task for monitoring system performance and troubleshooting any potential issues. By using simple commands like top, htop, and free, you can easily obtain information about CPU usage, memory usage, and available memory in your Linux system.

With this knowledge, you can identify resource-intensive processes, track CPU and memory usage over time, and ensure that your system is running optimally. Regularly checking CPU and memory usage is crucial for maintaining the stability and efficiency of your Linux system.


Recent Post