Beschreibe den Befehl "top" in Android

8

Ich mache eine kleine Android-Anwendung, um die aktuelle Gesamt-CPU-Auslastung wie die Registerkarte Leistung im Windows Task-Manager anzuzeigen. Ich verwende "top -m 1 -n 1 -d 1", um die CPU-Auslastung zu erhalten, aber ich verstehe das Ergebnis von "top" nicht wirklich.

Das Ergebnis wie:

%Vor%

CPU-Auslastung = ??? Wie kann ich die gesamte CPU-Auslastung berechnen?

    
VietAnh 26.05.2011, 05:44
quelle

4 Antworten

10

Die akzeptierte Antwort für diese Frage ist falsch. Die zweite Zeile der Ausgabe ist die Anzahl der Threads / Prozesse, die in dieser Gruppierung gestartet werden. Ihre CPU-Auslastung beträgt 20%. 5% davon stammen aus Nutzer-Apps und 15% aus System-Apps. Sie haben 73 Leerlauf-Threads, 14 System-Threads und 5 Benutzer-Threads (gemäß der zweiten Zeile).

zum Beispiel, hier ist ein aktueller Top-Schnappschuss für meinen Droid.

%Vor%

Laut der akzeptierten Antwort hätte ich 310% CPU-Auslastung, wenn dies tatsächlich nur die Anzahl der Threads ist. Ich bin mir ziemlich sicher, dass ich nur 11% der CPU nutze, wo die Top 3 Prozesse 9% davon verbrauchen.

    
jedmondson 11.08.2011, 17:31
quelle
5

Die tatsächliche Antwort auf die Frage ist einfach - kann aus der ersten Zeile von Android Top-Ausgabe berechnet werden

%Vor%

Summe = Summe aller Prozentsätze = 5 + 15 = 20%

Die andere Antwort über die zweite Zeile ist so falsch. Die zweite Zeile gibt dem Scheduler die Zeit, die er in diesem bestimmten Zustand verbringt - user / sys / idle / iow in jiffies (normalerweise 10ms) zwischen einer Ausgabe von top und der nächsten Ausgabe von top - im OP top -d 1 -, die die Benutzung druckt jede Sekunde - die Gesamtzahl der Jiffies pro Kern wäre ~ 100 (unter Annahme von 10 ms pro Jiffy) - was den Prozentwerten ähnlich wäre.

%Vor%

Die Werte wären dagegen größer, wenn -d höher ist oder wenn mehrere Kerne vorhanden sind

%Vor%

Dies ist wahrscheinlich ohne eine -d -Option, so dass top eine Standardverzögerung von 3 Sekunden = 300 jiffies hat.

Verweisen Sie AOSP oberster Quellcode um die vollständige Logik zu erhalten, wie jeder Wert berechnet wird.

    
ivoid 19.03.2013 10:31
quelle
-2
Der Befehl

top ist ein Linux-Befehl. Sehen Sie sich hier

an

Danke Deepak

    
Sunil Kumar Sahoo 26.05.2011 05:50
quelle
-4

Der Prozentsatz der CPU-Auslastung wird als (100-idle_percentage) angegeben, mehr oder weniger. In Ihrem Snippet ist der Idle -Prozentsatz 73, was Ihre CPU-Auslastung auf 27% reduziert.

Was die CPU-Nutzung pro Prozess betrifft, ist dies Ihre zweite Spalte der letzten zwei Zeilen.

    
evgeny 26.05.2011 05:48
quelle