asitop
asitop copied to clipboard
P-Core and E-Core always 100% usage
M3 Max 40 Core GPU
Same system, same problem It's reporting 100% CPU... at 0.5 watts
same here
confirmed that parse_cpu_metrics() doesn't recognize the cores properly on an M3 Max.
For example on an M3 Max with 14 cores (4 Efficiency, 10 Performance) the E-Cluster_active is set to 100 but the the actual cores are named E-Cluster0_active, E-Cluster1_active to P-Cluster13_active
Some sample code that is able to read all cores is:
for cluster in e_core:
cpu_metric_dict["E-Cluster_active"] += cpu_metric_dict["E-Cluster" +
str(cluster) + "_active"]
cpu_metric_dict["E-Cluster_freq_Mhz"] = max(
cpu_metric_dict["E-Cluster_freq_Mhz"], cpu_metric_dict["E-Cluster" + str(cluster) + "_freq_Mhz"])
cpu_metric_dict["E-Cluster_active"] = int(
cpu_metric_dict["E-Cluster_active"]/len(e_core))
for cluster in p_core:
cluster_name = "P-Cluster" + str(cluster) + "_active"
cluster_active = cpu_metric_dict[cluster_name]
cluster_freq = cpu_metric_dict["P-Cluster" +
str(cluster) + "_freq_Mhz"]
if cluster_freq != 0:
cpu_metric_dict["P-Cluster_active"] += cluster_active
cpu_metric_dict["P-Cluster_freq_Mhz"] = max(
cpu_metric_dict["P-Cluster_freq_Mhz"], cluster_freq)
cpu_metric_dict["P-Cluster_active"] = int(
cpu_metric_dict["P-Cluster_active"]/len(p_core))
But even the code above doesn't look the same as the OSX Native activity monitor. The last P-Cores show high usage in asitop and powermetrics on the second performance cluster (P-1 Cluster, CPU 9-13) because these cores can be online or offline and when they are offline they may report high usage which skews the results. So we have to filter out cores that are not online but I am not sure how.
Looks like https://github.com/tlkh/asitop/pull/68/commits/5314e67192e78e5391a98c8c806f19cd1c3145fe may be the necessary fix
Looks like 5314e67 may be the necessary fix
Yes, or simply use gavi's fork fixed the issue
pip install git+https://github.com/gavi/asitop.git
same here
same here
pip install git+https://github.com/gavi/asitop.git works for me
Looks like 5314e67 may be the necessary fix
Yes, or simply use gavi's fork fixed the issue
pip install git+https://github.com/gavi/asitop.git
Thank you. This solved the issue on my MacBook Pro M3 Max
Same here:
brew info asitop
==> asitop: stable 0.0.24 (bottled)
Perf monitoring CLI tool for Apple Silicon
https://tlkh.github.io/asitop/
Installed
/opt/homebrew/Cellar/asitop/0.0.24 (112 files, 1.7MB) *
Poured from bottle using the formulae.brew.sh API on 2024-07-25 at 12:11:50
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/a/asitop.rb
License: MIT
==> Dependencies
Required: [email protected] ✔
macOS 14.5
Model Name: MacBook Pro
Model Identifier: Mac15,9
Chip: Apple M3 Max
Total Number of Cores: 16 (12 performance and 4 efficiency)
Memory: 48 GB
System Firmware Version: 10151.121.1
OS Loader Version: 10151.121.1