3 Ways to check CPU Cores in Linux

Before you can understand CPU cores in Linux, it’s important to know what a core is. To put it simply, a core is the central processing unit (CPU) of the computer that handles all instruction sets. In modern computers, there are multiple CPUs or cores within one chip. This allows for parallel processing of data, which improves system performance and power consumption.

understanding CPU cores in Linux

In Linux, you can use the command lscpu to check your CPU cores.

The lscpu command will print out detailed information about your processor(s), including the number of cores, threads, and sockets as well as other hardware details.

You can also use the command uname -r to get information about your kernel version (also known as “distro”) and then search online for instructions on how to check your computer’s CPU core(s).

understanding CPU cores and hyper threading in Linux

Hyper threading is a technology that allows a processor to behave as if it has more cores than it physically has. For example, a quad-core processor with hyper threading would act like an eight-core processor. This feature is only available on Intel processors and does not affect the speed of your computer’s performance or resources.

Hyper threading allows a single processor to appear as two processors to the operating system (OS). A regular quad-core CPU will see four physical cores, while with hyperthreading enabled that core count doubles so they see eight virtual cores. But don’t think this means that you have twice as much processing power available; what you do get instead is better multitasking capabilities due to the extra virtualization layer between processes running on those virtual cores versus having them all run independently on their own physical core (which would be more taxing on resources). So if one program is taking up 90% of one physical core in this scenario but can still run at 20% of its original speed on another virtual core then overall performance will increase since now there are two programs running simultaneously instead of just one—and doing so without any decrease in resource usage!

Method 1 – Using /proc/cpuinfo

The /proc/cpuinfo file is a file that contains information about your CPU. The file contains a lot of information about your CPU, such as the number of physical cores, hyper threading and so on.

To check if you have more than one core (or hyperthreaded) in this way:

cd /proc/cpuinfo cat flags

Method 2 – Using lscpu Command

lscpu is a command line utility to show information about the CPU(s) present in the system. It’s useful for checking whether all your cores are being used or not.

Use this command:


Method 3 – Using top, htop, iostat and vmstat Commands

You can use the top command to check CPU cores in Linux. The top command is a command-line utility that provides system monitoring tools on a terminal. It displays the list of processes with their usage, memory usage and CPU usage.

Top Command

The top command shows the processes consuming CPU time in real time. You can view this information from any process running on your system using this tool. To see what is happening with your system at any given moment, run:

Though all the above-listed methods produce almost similar results, they are completely different commands.


  • It is a command line utility that displays CPU architecture information.
  • lscpu command displays the number of CPU sockets, cores, threads and cache size.
  • To view the processor information run this command under Linux terminal or shell prompt: lscpu


In this article, we have seen three methods to check CPU cores on Linux. We have also seen how to check CPU hyper threading feature and its affect on the system performance. The lscpu command is a good option if you are looking for an easy way to check your Linux machine’s CPU core configuration and other related information, but if you want more details then the /proc/cpuinfo method is ideal for you.


Leave a Reply

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