-
Notifications
You must be signed in to change notification settings - Fork 156
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
P-Core and E-Core always 100% usage #73
Comments
Same system, same problem |
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. |
we have had to customize asitop to work with an m3 machine but it still doesn't work. See this bug tlkh/asitop#73 . We will abandon this branch until asitop is fixed
Looks like 5314e67 may be the necessary fix |
Yes, or simply use gavi's fork fixed the issue
|
same here |
pip install git+https://github.com/gavi/asitop.git works for me |
Thank you. This solved the issue on my MacBook Pro M3 Max |
Same here:
|
Hi. This repository looks inactive, I have developed an alternative solution that bonus works without sudo. If anyone is interested: https://github.com/vladkens/macmon |
M3 Max 40 Core GPU
The text was updated successfully, but these errors were encountered: