Using python, we can easily check the number of CPUs available in a system. In this example program, we will learn two different methods to get this count.
CPU or central processing unit is the main processing unit in a computer that handles all computational works. A CPU can contain only one single core or multiple cores. Single core CPUs are rare these days and they are slower than multi-core units. A single core CPU can work on only one process but a multi-core CPU can work on multiple tasks simultaneously. In simple words, multi-core CPUs can provide a better result on multitasking. For example, a dual-core CPU appears to the operating system as two separate CPUs. Actually, the computer has only one CPU, but it appears like two. Similarly, a quad-core CPU has four central processing units and an octa-core CPU has eight processing units. You can do multitasking on a single core processor but the speed will be significantly low than any other multi-core processor. It will give you an illusion that more than one process is running at the same time, but actually, the CPU will work one process at a time. It will keep switching between processes to create the illusion. Multiple core CPUs can work on multiple processes at the same time. For example, a dual-core process can work on two processes parallel at the same time. It will make the system faster than a single core CPU. So, systems have actually one physical CPU unit with multiple cores in it. Previously multiple physical CPUs were used before multiple cores were introduced, but that required multiple ports for each CPU on the motherboard, space for each CPU and a lot of other issues. Using multiple cores helps us to keep the CPU unit small and it requires less space and fewer ports. In this tutorial, we are going to learn how to get the total CPU count in the system using python. Both are one-liner programs as we are only printing out the count of total CPUs. Note the output of the program will be different on different systems. This program will come in handy if you are writing code that behaves differently with platforms of different CPU count.
We will show you two different methods to find out the CPU count. Both methods will print the same output in the same machine.
Using os.cpu_count() . It returns the number of CPUs in the system and ‘None’ if undetermined.
Using multiprocessing.cpucount(). The output is equal to the previous example i.e. both methods will return the same value. Both of these numbers are not equivalent to the number of CPUs the current process can use. To get the number of usable CPUs, we can use len(os.schedgetaffinity(0)). But this value is available on some Unix platforms.
import multiprocessing import os print (multiprocessing.cpu_count()) print (os.cpu_count()) #print (len(os.sched_getaffinity(0)))
You can also download this program from here.
As you can see that the values are the same for all these three methods.
- Python program to print all combinations of three numbers
- Python program to find out the sum of all digits of a number
- Python program to find all numbers in a string
- Find the product of all odd, even numbers in a python list
- Python program to find the cube sum of first n numbers
- Python program to print numbers with comma as thousand separators