2016-11-08 3 views
0

Ich möchte die CPU-Nutzung meiner App in Android betrachten. Dafür habe ich sowohl top als auch dumpsys cpuinfo benutzt. Ich berechnete den Durchschnitt von 5 Minuten für den oberen Befehl (1 Sekunde Intervall zwischen den CPU-Messungen). Zum Beispiel, sobald ich 19% für meine App über 5 Minuten hatte, aber das nächste Mal habe ich 17% über 5 Minuten. Ich machte das gleiche mit Dumpsys. Ihre Ergebnisse sind etwas anders.TOP-Befehl vs Dumpsys cpuinfo: Welche ist genauer?

Die Hauptfrage ist: Ist eine genauer als die andere?

Ich brauche hohe Präzision für die CPU-Nutzung.

Kann ich darüber hinaus die Zeitspanne für dumpsys cpuinfo ändern, so dass es den Durchschnitt der letzten 5 Minuten gibt?

Update: Es ist keine doppelte Frage wie diese one.

+0

Mögliche Duplikate von [Wie erhalten Sie eine höhere Genauigkeit von "CPU%" als die von TOP-Befehl?] (Http://stackoverflow.com/questions/ 15148193/how-to-get-höher-Präzision-von-CPU-als-das-von-oben-Befehl) –

+0

@Alex P: Es ist kein Duplikat dieser Frage, wie ich es nach dem Lesen dieses Threads gründlich gepostet habe. – utengr

Antwort

0

Ich empfehle mit Dumpsys gehen. Nach meiner Erfahrung erhält TOP seine Informationen aus einer Vielzahl von Quellen, einigen direkten und einigen Schätzungen. Die Schätzungen waren in früheren Architekturen notwendig, da es keine Mittel gab, bestimmte Statistiken direkt zu messen. Heutzutage sind viele dieser Messungen von der untersten Ebene verfügbar. Das Hauptproblem von TOP besteht darin, herauszufinden, ob es aktualisiert wurde, um diese Messungen direkt zu erhalten, oder ob es immer noch geschätzt wird.

Im Gegensatz dazu dumpsys gets its info from /proc. Diese Messungen sind auf dem niedrigsten Niveau oder sehr nahe. Wenn sich die Architektur ändert, wird/proc eher aktualisiert.

Der zweite Teil Ihrer Frage bringt eine der Mängel von/proc./proc ist im Allgemeinen sehr schlecht dokumentiert, einschließlich Abtastraten usw. Ich habe keinen Fall gesehen, in dem eine Abtastrate für/proc (und damit dumpsys) gesetzt werden könnte, aber das bedeutet nicht, dass eine solche Fähigkeit nicht existiert. (Oft wird die Abtastrate tatsächlich zusammen mit den Daten ausgegeben.)

+0

Danke für Ihre Erklärung. Ich denke dumpsys cpuinfo zeigt die Informationen für die letzten 5-6 Sekunden an. Könnte es sein, dass ich diesen Befehl in einem 1-Sekunden-Intervall durch ein Skript führe und dann die Ergebnisse über 5 oder einen bestimmten Zeitraum mittle? Die andere Frage: Wie kann ich die dumpsys cpuinfo in Dezimalzahlen bekommen? Zum Anfang habe ich busybox benutzt. – utengr

Verwandte Themen