What is psutil process cpu usage in python using

Meredith 162 Published: 09/17/2024

What is psutil process cpu usage in python using

Here's the answer:

The psutil module in Python provides a cross-platform interface for retrieving information on running processes and system utilization (such as CPU, memory, disk, network, etc.).

To get the CPU usage of a specific process or all processes in Python using psutil, you can use the following code:

import psutil
Get the process object

process = psutil.Process(pid=12345)

Get the CPU percentage

cpu_percent = process.cpu_percent()

print("CPU usage: ", cpu_percent)

In this example, we're assuming that the process ID (PID) is 12345. If you want to get the CPU usage of all processes, you can use a loop and iterate over each running process:

import psutil
Get the list of running processes

processes = []

for p in psutil.process_iter():

try:

p_info = p.info

processes.append((p_info['pid'], p_info['cpu_percent']))

except (psutil.NoSuchProcess, psutil.AccessDenied):

pass

Print all CPU percentages

for pid, cpu_percent in processes:

print(f"PID: {pid}, CPU usage: {cpu_percent}%")

In this example, we're using a list comprehension to get the list of running processes, then iterate over each process and extract the process ID (PID) and its CPU percentage. Finally, we print all the CPU percentages for all processes.

If you want to monitor CPU usage in real-time, you can use the iter_process_iter function which returns an iterator that yields a Process object for each running process, as they appear:

import psutil
Monitor CPU usage

for p in psutil.iter_process_iter():

try:

print(f"PID: {p.info['pid']}, CPU usage: {p.cpu_percent}%")

except (psutil.NoSuchProcess, psutil.AccessDenied):

pass

In this example, we're using a loop to monitor the CPU usage of each running process as they appear. This can be useful for monitoring system resource utilization in real-time.

Remember that you need to run your Python script with administrator rights if you want to access all running processes.

How to check CPU usage using Python?

To check CPU usage using Python, you can use the psutil library which is a cross-platform library for retrieving information on running processes and system utilization (CPU, memory, disks, networking, users, etc.) in Python.

Here's an example of how to do it:

import psutil
Get CPU timeslice usage

cpu_timeslice_usage = psutil.cpu_timeslice()

print(f"Timeslice usage: {cpu_timeslice_usage}%")

Get CPU core count

cpu_core_count = psutil.cpu_count(logical=False)

print(f"CPU core count: {cpu_core_count}")

Get CPU percent usage

cpu_percent_usage = psutil.cpu_percent(interval=1, percpu=True)

print(f"CPU percentage usage: {cpu_percent_usage}%")

The psutil library provides several ways to get CPU information:

cpu_timeslice(): Returns the CPU timeslice usage (0-100). cpu_core_count(logical=False): Returns the number of CPU cores available. The logical=False parameter means you're getting the physical core count, not the logical one (if there are hyper-threading or similar technologies involved). cpu_percent(interval=1, percpu=True): This method returns a tuple with four values: total CPU usage and usage for each of the available CPUs. You can specify the time interval (interval=1 in this case means 1 second).

Here's how you install psutil library:

pip install psutil

Note that psutil requires Python 3.5 or later, and is compatible with Windows, macOS and Linux.

Also note that on Unix-based systems (like Linux), you might need to run your script using sudo if the system doesn't have a graphical interface:

sudo python your_script.py

I hope this helps!