Raspberry Pi 3, işletim sistemi düzeyinde 1 GB'tan daha az belleğe sahiptir


13

Kritik bir sorun olup olmadığını bilmiyorum. Ama aklımdaki soru işaretlerinden kurtulmam gerekiyor.

Son zamanlarda bir Raspberry Pi 3 kartı satın aldım ve onunla oynarken, meminfo'nun fiziksel bellek boyutunu 1GB'dan (~ 880MB) çok daha az gösterdiğini ( resmi sitede belirtildi ) fark ettim .

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

GPU'ya kullanılabilir bellek miktarıdır 16MB ilgili Raspi-config menü öğesini iki kez kontrol (izin verilen minimum sınır olan).

raspi-config -> Advanced Options -> Memory Split

Önyükleme yapılandırması ayrıca gpu_mem'in 16MB olduğunu söylüyor .

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

Sorunlu alanı daraltmak için sistem bilgisi. Bu arada, sistem güncel.

İşletim sistemi sürümü:

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

Çekirdek sürümü:

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

Çekirdek vmsplit yapılandırması:

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

2 sorum var:

  • Eksik 128MB bellek nerede?
  • Bu duruma ne sebep olur?

Kullandığınız işletim sistemi nedir - raspbian / arch / other? cat /etc/os-releasesöylemeliyim. çekirdek sürümü nedir? uname -avermeli. bu, olası nedenleri daraltmaya yardımcı olmalıdır. güncellemesi gerçekten işe yaradı mı veya herhangi bir uyarı verdi mi?
Shreyas Murali

Soru metnine ayrıntılı bilgi eklenir.
vaha

Muhtemelen diğer iş parçacığında önerilen joan ile aynı problem. Zcat /proc/config.gz|grep CONFIG_VMSPLIT ile kontrol edin . Pi3 için henüz yeni bir çekirdek olmadığından, yalnızca rpi-güncellemeli çözüm işe yaramaz. Ancak, çekirdeğinizi 2GB / 2GB bellekle kendiniz bölebilirsiniz.
Janka

1
Bu tamamen normaldir, Pi3'üm MemTotal: 882776 kB MemFree: 126868 kB MemAvailable: 689576 kB"Normal koşullarda, sizi her zaman öncü ürün yazılımına ve çekirdeğe götürdüğü için asla rpi-update'i çalıştırmaya gerek yoktur ve bu bir test sürümü olabileceğinden RPi'nizi önyüklenemez bırakabilir" gösterir. raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Milliways

Ne vcgencmd get_mem arm && vcgencmd get_mem gpugösteriyor?
Milliways

Yanıtlar:


14

Çıktı vcgencmd get_mem arm && vcgencmd get_mem gpuise

arm=880M
gpu=128M

Bu, GPU'nun 128M kullandığı anlamına gelir.

raspi-config Advanced OptionsGPU'yu kendim azaltmadım, ancak bu doğrulanabilir / değiştirilebilir . Ben bellekten gidiyorum, ama bence bu varsayılan, muhtemelen Kamera ile ilgili. En azından şimdi hafızanın nerede olduğunu biliyorsun.


Evet, hepsi kamerayla ilgili.
vaha

880M ve 128M 1008M'ye kadar ekler. Diğer 16M nerede?
v7d8dpo4

@ v7d8dpo4 Sorudan:memory size for GPU is 16MB
David Starkey

10

Her şeyden önce, 2 basit komutu kontrol etmeyi önerdiğim için @Milliways'e en iyi dileklerimi sunuyorum.

vcgencmd get_mem arm && vcgencmd get_mem gpu

Eksik 128MB bellek nerede?

Her ikisi de raspi-configve /boot/config.txtGPU için kullanılabilir bellek miktarının 16 MB olduğunu söylese bile , gerçek değerler CPU için 880MB, GPU için 128MB'dir.

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

Bu nedenle, 128MB bellek eksik (aslında eksik değil) GPU için ayrılmıştır .

Bu duruma ne sebep olur?

Hatta /boot/config.txthatta gpu_mem=16kamera modülünü etkinleştiren başka bir hat daha vardır.

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

Bu nedenle, kamera modülünün etkinleştirilmesi , burada zımni olarak ima edilen GPU için 128 MB bellek rezervasyonuna yol açar .

Kısacası, start_x=1geçersiz kıldığını söyleyebiliriz gpu_mem=16.

Kamera modülünü devre dışı bıraktıktan sonra start_x=0, bellek değerleri şöyledir:

root@mypi:~# vcgencmd get_mem arm && vcgencmd get_mem gpu
arm=992M
gpu=16M

3
Evet, kamera varsayılan olarak 128Mb ayırmaya ayarlı. Bu olabilir ancak daha sınırlı işlevsellik (daha az bellek, sen benzeri idare edebilir düşük çözünürlüklere) ile (I tüm yol 32Mb aşağı, doğru geri çağırmak) alt bölünmeler ile çalışır. Bölme çok küçükse (16Mb olduğu gibi), varsayılan olarak 128 olacaktır.
Dave Jones

-1

Rpi güncelleme seçeneğinin yanı sıra, bildirilen belleğin daha az olmasının başka bir (olası) nedeni var gibi görünüyor. Bu kez çekirdek alanı / kullanıcı alanı bellek böler ile ilgilidir. Bu gönderi, çekirdek oluşturma yapılandırmasının ayarlanmasını ve kaynak kodundan yeniden oluşturulmasını içeren düzeltmeyi ayrıntılı olarak açıklamaktadır. Bir kullanıcı başarılı olduğunu bildirdi

tarafından tesla01 »Per 05 Şub 2015 20:04 Merhaba, Özel çekirdek kullanırken 2G / 2G seçeneğinin çalıştığını onaylıyorum

5 Şub 19:17:12 raspberrypi çekirdeği: [0.000000] Bellek: 940776K / 966656K mevcut (5785K çekirdek kodu, 377K rwdata, 1760K rodata, 396K başlangıç, 771K bss, 25880K ayrılmış)

Teşekkürler :)

Sen gerekir doğrulamak (değerini kontrol ederek bu gerçekten nedenidir CONFIG_VMSPLITya olduğu CONFIG_VMSPLIT=3Gya CONFIG_VMSPLIT=2Gşöyle bağlantı raporu başarısında daha aşağı bazı mesajların gibi)

by birdman »Per 12 Şub 2015 22:01 Sadece bu dakika libraspberrypi- * ve raspberrypi-bootloader için bir güncelleme vardı. şimdi çekirdek 3.18.7-v7 +. Şimdi üst tarafından "KiB Mem: 998096" olarak bildirilen bellek

Teşekkürler!!

bazıları ise aynı sonuçlara sahip değildi

Ne yazık ki bu iddialardan herhangi birini doğrulamak için PI'mın yakınında değilim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.