New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[macOS] psutil.Process(pid).cpu_percent calculation result is inaccurate #2411
Comments
How are you comparing the 2? If you want to compare with top/htop you should do it in a loop, like this:
|
@giampaolo First of all, thank you for your help. I used loops for benchmarking and there is no change. Under arm64, the cpu utilization of the psutil calculation process is very different from that of htop calculation. In addition, I use other mac (inter chips), and the calculation results are basically the same as htop. |
@giampaolo Hello, please help me answer this question if you have time, it is very important to me. |
Sorry but I have no idea. I don't have the hardware to test this against. Perhaps on arm64 process CPU metrics work differently and require using a different API. It would not be a first on macOS. |
@giampaolo Understood, thank you, if there is any progress in the future, please try to synchronize it. Let me investigate the specific reasons here. |
I ran into the same problem on a 32 core window machine, and I found that on powerful machines, the CPU cores didn't always work |
Summary
Description
By using psutil.Process(pid).cpu_percent(interval=1) to get the cpu utilization of a process, and then using the cpu utilization obtained by the top command or the htop command to verify the results of psutil, it is found that the results calculated by psutil are completely inconsistent.
example:
htop command: 4.1%
proc = psutil.Process(pid)
cpu_usage = proc.cpu_percent(interval=1)
print(f"Process '{proc.name()}' (PID: {proc.pid}) CPU utilization: {cpu_usage}%")
psutil:0.1%
The text was updated successfully, but these errors were encountered: