Not sure what’s hogging your Linux PC’s resources? There are lots of tools for getting information about your system and managing resources. Here are some that you should know about to track processes, files, memory, and disk usage.

1 top: Processes at a Glance

top running in the Linux termianl.

One command that I’ve turned to see which processes are running on my system is top. Think of it as the Linux equivalent of Task Manager in Windows.

It’s a full-screen program that shows what’s running on my system and the resources being used, such as the CPU and RAM. The display updates every few seconds.

top shows you what processes are running, their process IDs, how much memory they’re using, and who they belong to.

Remove Ads

2 htop: Like top, but More Colorful

htop running in the Linux terminal.

htop is similar to top, but more colorful. I tend to prefer it over htop and I’m not alone. It seems to come pre-installed with a lot of Linux distros. One advantage it has over plain old top is that the interface is in color, and the bars at the top of the screen will show resource usage. It’s also easy to adjust the view, such as to sort by memory or CPU usage.

The user interface is also friendlier than plain old top. htop seems to be installed by default on a lot of distros. If it’s not, it’s one of the first things I install on a new Linux system.

On a Debian or Ubuntu system, you can use the following command to install it:

sudo apt install htop

3 free: Check Your Free Memory

free is a simple command to see how much memory you have free in your machine. When you type “free” at the command line, you’ll see the how much physical ram you’re using, as well as the swap space or virtual memory.

Remove Ads

By default, free shows free memory in blocks when you run the command without any argument. The -f option will show it in “human readable” formats, such as gigabytes or megabytes

free -h

free -h output showing free and virtual memory in the Linux terminal.

This makes it easier to see how much memory you’re using at a glance in the terminal.

4 vmstat: Check Virtual Memory

vmstat output in the Linux terminal.

vmstat shows some stastics about your swap space.

Remove Ads

Linux, like other modern operating systems, uses virtual memory to use your storage for processes that aren’t needed immediately in RAM. This allows more memory than you have in physical RAM to be used, but using the memory is slower. Processes can be “swapped out” or “swapped in” as needed by the kernel. While Windows has a swap file, most Linux distros set up a dedicated swap partition at login.

If you’re noticing sluggish performance, you can run vmstat to see how much virtual RAM is in use. You might decide to order a new RAM stick. top and htop also show physical and swap memory.

vmstat will show how much memory is used as swap, how much is free, how much is used as cache, and how much is used in buffers. Most of this information will be of interest to system programmers, though knowing how much memory you’re using is essential to troubleshoot performance issues.

5 du and df: Check Disk Space

Even though hard drives and SSDs offer plenty of space these days, sometimes it seems you never have enough. The standard Linux tools for checking disk space or du and df.

du -h output in the Linux terminal showing disk usage of files.
Remove Ads

du will list the size of files in a directory. For example, to see how big files are in /usr/local/bin:

du /usr/local/bin

df shows the available space on all mounted storage devices. If you run df with a path as an argument, you’ll see the free storage of the device it’s on.

df-h command showing disk usage in the Linux termina.

For example, to check the root directory:

df /

By default, du and df will show free space by block size. To see usage in “human-friendly” units such as MB or GB, use the -h option in both programs.

6 lsof: Check Open Files

Sometimes, you might find that the shell won’t let you log out because a file is in use. You can use the lsof command to see which files are open. It will show you a list of currently open files. It will also show a list of devices since devices are also files in the Linux system. You can close or kill an offending program, and then you can log out.

Remove Ads
lsof piped through the head command to show open files in the Linux terminal.

It could also be used to track unauthorized connections since network sockets will also show up in this listing. If you see a connection you don’t recognize, it could be an intruder.

The most relevant information is the name of the command and the full pathname of the open file. These are under the “COMMAND” and “NAME” fields in the table that’s printed into the terminal.

7 uptime: How Long Has Your Machine Been Up?

uptime command showing system uptime in the Linux termina.

The uptime command shows how long your machine has been running. It will show the current time, how long the system has been up since it was last booted, the number of users currently logged in, and the load averages for the past minute, 15 minutes, and 30 minutes.

Remove Ads

This is a useful tool for servers, but lots of Linux users love to brag about their uptime as well. It’s a simple command with fewer options. Even the manual page is short. You can use the -s option to show how when the system was booted by itself

uptime -s

Output of uptime -s showing when the system was last booted.