Holen Sie sich die CPU- und GPU-Auslastung auf Raspberry Pi

22

Ich versuche, eine gute Aufteilung für die CPU / GPU herauszufinden. Gibt es eine Möglichkeit, die CPU- und GPU-Auslastung zu überwachen, um festzustellen, wo ich die Aufteilung vornehmen soll?

Scoop
quelle
1
Diese Frage könnte für Sie nützlich sein.
Jivings
1
IMO ist die Frage verwirrend. Möchten Sie die Speichernutzung für Anwendung und Grafik kennen (damit Sie die Aufteilung definieren können) oder möchten Sie die aktuelle CPU- / GPU-Auslastung kennen?
Keiki
@ otakun85 Ich möchte die aktuelle Verwendung der Anwendungen kennen, damit ich eine gute Entscheidung darüber treffen kann, wo die Aufteilung erfolgen soll
Scoop
@Jivings Ja das war eine gute Frage. Gut zu wissen, dass bestimmte Funktionen aktiviert und deaktiviert werden, je nachdem, wie viel Speicher der GPU zugewiesen ist. Wenn möglich, wäre es jedoch hilfreich, die genaue Verwendung zu kennen, um zu bestimmen, in welche Kategorie ich falle
Scoop

Antworten:

13

Eine einfache Lösung besteht darin, den Raspberry Pi selbst zu veranlassen, die Aufteilung des Arbeitsspeichers zwischen CPU und GPU mit dynamischer Speicheraufteilung zu verwalten . Während raspi-config dies nicht für Sie tun kann, gibt es in den Foren Beispieleinstellungen für /boot/config.txt.

shapr
quelle
Danke dafür. Mir war nicht bewusst, dass das Team die richtige Dynamik hatte.
Vincent P
15

Mit dem Befehl topoder können Sie eine Echtzeitansicht der Speichernutzung abrufen htop. Möglicherweise müssen Sie installieren, htopwenn Sie die Meldung erhalten htop: command not found. Angenommen, Sie verwenden Raspbian, installieren Sie es durch Ausführensudo apt-get install htop

Bert
quelle
2
Was sind die Vorteile gegenüber dem regulären top?
Morgan Courbet
1
htop scheint "besser" zu sein htop.sourceforge.net/index.php?page=comparison
Scoop
2
htopist benutzerfreundlicher. Ich benutze immer htopstatttop
w0rldart
Wenn Sie einen Mehrkerncomputer wie RPi 2 verwenden, sehen Sie die Auslastung für jeden Kern in einem schönen Balkendiagramm. Wenn Sie beispielsweise in der Aufgabenliste "Python" sehen, wird die gesamte Befehlszeile angezeigt sehen, welches Programm läuft
jpwynn
@jpwynn Beachten Sie, dass topSie mit drücken 1und auch alle Prozessoren sehen. Aber ich bin damit einverstanden, dass htopes im Allgemeinen besser / einfacher zu bedienen ist.
Alexis Wilke
11

Grundsätzlich kann die GPU-Auslastung derzeit nicht ermittelt werden. Sie können nur die CPU-Auslastung abrufen, indem Sie den topBefehl ausführen.

Update Raspbian enthält jetzt htopdas ausführlichere und leichter zu lesende

Bezüglich der optimalen CPU / GPU-Aufteilung. Es hängt wirklich davon ab, wofür Sie Ihr RPi verwenden. Wenn Sie keine Videos und Spiele spielen (GPU-optimiert), geben Sie der CPU den größten Arbeitsspeicher. Auch wenn Sie "kopflos" laufen (nicht mit einem Bildschirm verbunden), weisen Sie der CPU so viel RAM wie möglich zu.

Chromium verwendet die GPU derzeit nicht. Überprüfen Sie den folgenden Thread . Es ist von einem der Jungs, die Chrom für den Raspberry Pi entwickelt haben. Außerdem gibt es einige Tipps, wie Sie Chromium im ursprünglichen Beitrag schneller zum Laufen bringen können.

Vincent P
quelle
Das Problem ist also, dass ich nicht sicher bin, ob Chrome die GPU verwendet oder nicht. Und wenn ja, für welche Art von Dingen? Es wäre nützlich für die GPU-Nutzung, aber möglicherweise nicht möglich
Scoop
@Scoop Ich habe meine Antwort entsprechend aktualisiert.
Vincent P
@Scoop Ab meinem heutigen Test (2018) ist die Unterstützung der GPU im Chrome-Browser enthalten. Sie können es sehen, indem Sie zu gehen chrome://gpu.
Alexis Wilke
7

Um die RAM-Auslastung zu überwachen, können Sie ausführen free -h -s 1. Jede Sekunde ( -s 1) wird eine ähnliche Tabelle angezeigt:

             total       used       free     shared    buffers     cached
Mem:          438M       146M       292M         0B        15M       102M
-/+ buffers/cache:        28M       409M
Swap:          99M         0B        99M

Die Linie Mem:ist was Sie suchen.

Im obigen Beispiel können Sie sehen, dass auf insgesamt 438 MB derzeit 146 MB verwendet werden und 292 MB frei bleiben. Auf meinem 512MB RPi habe ich 64MB für die GPU eingestellt.

Morgan Courbet
quelle
2
Beachten Sie, dass dies nicht die CPU-Auslastung ist, sondern die RAM-Auslastung.
Hut8
2

Um die CPU-, RAM- und SWAP-Auslastung in Raspbian zu überwachen, können Sie TOP oder HTOP verwenden.

Im Terminal laufen top. TOP ist standardmäßig verfügbar und enthält einigermaßen gute Details. TOP im Raspbian Terminal RPi3

Ich finde jedoch, dass HTOP nützlicher ist und bessere Details und Funktionen zur Verfügung stehen. HTOP ist standardmäßig nicht verfügbar und muss installiert werden.

Führen Sie sudo apt-get update && sudo apt-get install htopin Terminal aus, um HTOP zu installieren.

Führen Sie im Terminal aus, htopnachdem die Installation abgeschlossen ist.

HTOP in Raspbian RPi 3

Hoffentlich hilft das.

Dr.Viper
quelle
2

Der Befehl, der Ihnen einen Einblick in die Zuweisung durch die GPU gibt, lautet sudo vcdbg reloc. Die Ausgabe sieht so aus, wie hier beginnt. In meinem Fall konnte ich feststellen, dass der zugewiesene 236M-Wert zu nahe am Wert in /boot/config.txt-> lag gpu_mem=256, und ich musste ihn etwas erhöhen.

Relocatable heap version 4 found at 0x30000000
total space allocated is 236M, with 234M relocatable, 2.3M legacy and 0 offline
1 legacy blocks of size 2359296

free list at 0x3ad9aaa0
352 free memory in 2 free block(s)
largest free block is 320 bytes

0x30000000: legacy block 2.3M
0x30240000: free 320
[  80] 0x30240140: used  608 (refcount 1 lock count 0, size      540, align    4, data 0x30240160, d0rual) 'GLXX_TEXTURE_T'
[  78] 0x302403a0: used  192 (refcount 1 lock count 0, size      128, align    4, data 0x302403c0, D1rual) 'GLXX_BUFFER_INNER_T.storage'
OutsourcedGuru
quelle
1
Es kann für die Leute etwas verwirrend sein, dass Sie gesagt haben: "In meinem Fall konnte ich feststellen, dass der zugewiesene 236M-Wert dem Wert in /boot/config.txt -> gpu_mem = 256 zu nahe gekommen ist", seitdem auf den ersten Blick Dies impliziert, dass Sie die erste Nummer aus der ersten Zeile erhalten haben, die immer dieselbe sein wird. Die Menge an freiem Speicher befindet sich tatsächlich in der zweiten Zeilengruppe, und die verwendete Menge wäre der zugewiesene Wert (236 MB) abzüglich dieser. Diese werden mit vcgencmd get_mem relocund übereinstimmen vcgencmd get_mem reloc_total. raspberrypi.org/forums/viewtopic.php?t=158157
Goldlöckchen