Raspberry Pi 3 verfügt auf Betriebssystemebene über weniger als 1 GB verfügbaren Speicher

13

Ich weiß nicht, ob es sich um ein kritisches Problem handelt oder nicht. Aber ich muss die Fragezeichen in meinem Kopf loswerden.

Ich habe vor kurzem ein Raspberry Pi 3-Board gekauft und festgestellt, dass meminfo die physische Speichergröße deutlich unter (~ 880 MB) 1 GB (die auf der offiziellen Website angegeben ist ) anzeigt .

root@mypi:~# cat /proc/meminfo 
MemTotal:         882780 kB
MemFree:          536068 kB
MemAvailable:     712180 kB

Die für die GPU verfügbare Speicherkapazität beträgt 16 MB (das ist die minimal zulässige Grenze), die im entsprechenden Menüelement von raspi-config zweimal überprüft wurde.

raspi-config -> Advanced Options -> Memory Split

Die Boot-Konfiguration gibt außerdem an, dass gpu_mem 16 MB groß ist .

root@mypi:~# cat /boot/config.txt | grep -i gpu
gpu_mem=16

Hier finden Sie Informationen zum Eingrenzen des Problembereichs. Das System ist übrigens auf dem neuesten Stand.

Betriebssystemfreigabe:

root@mypi:~# cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"

Kernelversion:

root@mypi:~# uname -a
Linux mypi 4.4.23-v7+ #913 SMP Tue Oct 4 14:16:19 BST 2016 armv7l GNU/Linux

Kernel vmsplit Konfiguration:

root@mypi:~# zcat /proc/config.gz | grep CONFIG_VMSPLIT | grep -v ^#
CONFIG_VMSPLIT_2G=y

Also habe ich 2 Fragen:

  • Wo ist der fehlende 128MB Speicher?
  • Was verursacht diese Situation?
vaha
quelle
Welches Betriebssystem verwenden Sie - raspbian / arch / other? cat /etc/os-releasesollte das sagen. Was ist die Kernel-Version? uname -asollte das geben. Dies sollte helfen, die wahrscheinlichen Ursachen einzugrenzen. hat das rpi-update tatsächlich funktioniert oder warnungen ausgegeben?
Shreyas Murali
Detaillierte Informationen werden dem Fragentext hinzugefügt.
Vaha
Es ist wahrscheinlich dasselbe Problem, das Joan im anderen Thread vorgeschlagen hat. Überprüfen Sie dies mit zcat /proc/config.gz|grep CONFIG_VMSPLIT . Nur dass die Lösung mit rpi-update nicht funktioniert, da es für den Pi3 noch keinen neueren Kernel gibt. Sie können Ihren Kernel aber mit 2 GB / 2 GB Speicher neu kompilieren, indem Sie sich teilen.
Janka
1
Dies ist völlig normal, mein Pi3 zeigt MemTotal: 882776 kB MemFree: 126868 kB MemAvailable: 689576 kB"Unter normalen Umständen ist es NIEMALS erforderlich, ein RPI-Update auszuführen, da Sie immer auf die neueste Firmware und den neuesten Kernel zugreifen. Da dies eine Testversion ist, kann es dazu führen, dass Ihr RPi nicht mehr bootet." raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Milliways
Was vcgencmd get_mem arm && vcgencmd get_mem gpuzeigt?
Milliways

Antworten:

14

Wenn die Ausgabe von vcgencmd get_mem arm && vcgencmd get_mem gpuist

arm=880M
gpu=128M

Dies bedeutet, dass die GPU 128 MB verwendet.

Dies kann überprüft / geändert werden raspi-config Advanced Options, obwohl ich die GPU selbst nicht reduziert habe. Ich gehe aus dem Gedächtnis, aber ich denke, dies ist die Standardeinstellung, möglicherweise im Zusammenhang mit Kamera. Zumindest wissen Sie jetzt, wo sich Ihr Gedächtnis befindet.

Milliways
quelle
Ja, es dreht sich alles um die Kamera.
Vaha
880M und 128M summieren sich zu 1008M. Wo ist der andere 16M?
v7d8dpo4
@ v7d8dpo4 Aus der Frage:memory size for GPU is 16MB
David Starkey
9

Zunächst grüße ich @Milliways herzlich, dass er vorgeschlagen hat, zwei einfache Befehle zu überprüfen.

vcgencmd get_mem arm && vcgencmd get_mem gpu

Wo ist der fehlende 128MB Speicher?

Selbst wenn beides gilt raspi-configund /boot/config.txtdie für die GPU verfügbare Speicherkapazität 16 MB beträgt, liegen die tatsächlichen Werte für die CPU bei 880 MB und für die GPU bei 128 MB.

root@mypi:~# vcgencmd get_mem arm && vcgencmd get_mem gpu
arm=880M
gpu=128M

Fehlender (eigentlich nicht fehlender) 128-MB-Speicher ist für die GPU reserviert .

Was verursacht diese Situation?

Sogar /boot/config.txtdie Leitung enthält gpu_mem=16, gibt es eine weitere Leitung, die das Kameramodul aktiviert.

root@mypi:~# cat /boot/config.txt | grep -i start_x
start_x=1

Das Aktivieren des Kameramoduls führt zu einer Speicherreservierung von 128 MB für die GPU, was hier implizit impliziert ist .

Kurz gesagt, das start_x=1setzt außer Kraft gpu_mem=16.

Nach dem Deaktivieren des Kameramoduls durch start_x=0, sind hier die Speicherwerte:

root@mypi:~# vcgencmd get_mem arm && vcgencmd get_mem gpu
arm=992M
gpu=16M
vaha
quelle
2
Ja, die Kamera verwendet standardmäßig eine 128-MB-Reservierung. Es kann mit niedrigeren Splits funktionieren (wenn ich mich recht erinnere, bis auf 32 MB), aber mit eingeschränkteren Funktionen (je weniger Speicher, desto niedriger die Auflösungen, die Sie verarbeiten können usw.). Wenn die Aufteilung zu klein ist (wie 16 MB), wird es nur standardmäßig 128.
Dave Jones
-1

Abgesehen von der Option rpi-update scheint es einen anderen (möglichen) Grund zu geben, warum der gemeldete Speicher geringer ist. Dieses Mal hängt es mit der Aufteilung des Kernel- / Benutzerraumspeichers zusammen. In diesem Beitrag wird das Update beschrieben, bei dem die Kernel-Build-Konfiguration optimiert und aus dem Quellcode neu erstellt wird. Ein Benutzer hat einen Erfolg gemeldet

von tesla01 »Do 05.02.2015 20:04 Uhr Hallo, ich bestätige, dass die 2G / 2G-Option bei Verwendung eines benutzerdefinierten Kernels funktioniert

5. Februar 19:17:12 raspberrypi Kernel: [0.000000] Speicher: 940776K / 966656K verfügbar (5785K Kernel-Code, 377K rwdata, 1760K rodata, 396K init, 771K bss, 25880K reserviert)

Vielen Dank :)

Sie müssen überprüfen , ob dies tatsächlich die Ursache ist (indem Sie den Wert von CONFIG_VMSPLITentweder CONFIG_VMSPLIT=3Goder überprüfen CONFIG_VMSPLIT=2G), da einige Beiträge weiter unten in diesem Link den Erfolg wie folgt melden

von birdman »Do 12.02.2015, 22:01 Uhr In dieser Minute gab es ein Update für libraspberrypi- * und raspberrypi-bootloader. Kernel jetzt 3.18.7-v7 +. Speicher jetzt von oben als "KiB Mem: 998096" gemeldet

Vielen Dank!!

während einige andere nicht die gleichen Resultate hatten

Leider bin ich nicht in der Nähe meines PI, um eine dieser Behauptungen zu überprüfen.

Shreyas Murali
quelle