I am a new Linux user. How do you check how many CPUs are there in Linux system using the command line option?
Introduction: One can obtain the number of CPUs or cores in Linux from the command line. The /proc/cpuinfo file stores CPU and system architecture dependent items, for each supported architecture. You can view /proc/cpuinfo with the help of cat command or grep command/egrep command. This page shows how to use /proc/cpuinfo file and lscpu command to display number of processors on Linux.
How do you check how many CPUs are there in Linux system?
You can use one of the following command to find the number of physical CPU cores including all cores on Linux:
- lscpu command
- cat /proc/cpuinfo
- top or htop command
- nproc command
- hwinfo command
- dmidecode -t processor command
- getconf _NPROCESSORS_ONLN command
Let us see all commands and examples in details.
How to display information about the CPU on Linux
Just run the lscpu command:
$ lscpu | egrep 'Model name|Socket|Thread|NUMA|CPU(s)'
$ lscpu -p
The output clearly indicate that I have:
- CPU model/make: AMD Ryzen 7 1700 Eight-Core Processor
- Socket: Single (1)
- CPU Core: 8
- Thread per core: 2
- Total threads: 16 ( CPU core * Thread per core )
Use /proc/cpuinfo to find out how many CPUs are there in Linux
The lscpu command gathers CPU architecture information from sysfs, /proc/cpuinfo and other sources. To view use the cat command and more command as follows:
$ cat /proc/cpuinfo
$ more /proc/cpuinfo
Let us print cpu thread count:
$ echo "CPU threads: $(grep -c processor /proc/cpuinfo)"
$ grep 'cpu cores' /proc/cpuinfo | uniq
Run top or htop command to obtain the number of CPUs/cores in Linux
Simply run the following command and hit ‘1’:
Another option is to run lovely htop:
How do I Find Out Linux CPU Utilization?
Execute nproc print the number of CPUs available on Linux
Let us print the number of installed processors on your system i.e core count:
$ nproc --all
$ echo "Threads/core: $(nproc --all)"
How to probe for CPU/core on Linux using hwinfo command
$ hwinfo --cpu --short ## short info ##
$ hwinfo --cpu ## detailed info on CPUs ##
Linux display CPU core with getconf _NPROCESSORS_ONLN command
One can query Linux system configuration variables with getconf command:
$ getconf _NPROCESSORS_ONLN
$ echo "Number of CPU/cores online at $HOSTNAME: $(getconf _NPROCESSORS_ONLN)"
Number of CPU/cores online at nixcraft-asus.nixcraft.com: 16
dmidecode -t processor command
You can use get BIOS and hardware information with dmidecode command (DMI table decoder) on Linux. To find out how many CPUs are there in Linux system, run:
$ sudo dmidecode -t 4
$ sudo dmidecode -t 4 | egrep -i 'core (count|enabled)|thread count|Version'
Linux Setting processor affinity for a certain task or process
Here is a quick video demo of lscpu and other commands:
You learned how to display information about the CPU architecture, core, threads, CPU version/model, vendor and other information using various Linux command line options.