Raspberry Pi 3 memiliki memori kurang dari 1GB yang tersedia di level OS

13

Saya tidak tahu apakah ini masalah kritis atau tidak. Tapi, saya harus menyingkirkan tanda tanya di pikiran saya.

Saya baru-baru ini membeli papan Raspberry Pi 3 dan ketika saya bermain dengannya, saya menyadari bahwa meminfo menunjukkan ukuran memori fisik jauh lebih sedikit (~ 880MB) dari 1GB (yang ditentukan di situs resmi ).

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

Jumlah memori yang tersedia untuk GPU adalah 16MB (yang merupakan batas minimum yang diizinkan) diperiksa dua kali pada item menu raspi-config terkait.

raspi-config -> Advanced Options -> Memory Split

Konfigurasi boot juga mengatakan bahwa gpu_mem adalah 16MB .

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

Untuk mempersempit ruang masalah, berikut adalah info sistem. Omong-omong, sistemnya mutakhir.

Rilis OS:

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

Versi kernel:

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

Konfigurasi kernel vmsplit:

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

Jadi, saya punya 2 pertanyaan:

  • Di mana memori 128MB yang hilang?
  • Apa yang menyebabkan situasi ini?
vaha
sumber
apa OS yang Anda gunakan - raspbian / arch / lainnya? cat /etc/os-releaseharus mengatakan itu. apa versi kernelnya? uname -aharus memberikan itu. ini akan membantu mempersempit kemungkinan penyebabnya. apakah pembaruan-rpi benar-benar berfungsi atau menghasilkan peringatan?
Shreyas Murali
Informasi terperinci ditambahkan ke teks pertanyaan.
vaha
Kemungkinan masalah yang sama seperti yang disarankan joan di utas lainnya. Periksa dengan zcat /proc/config.gz| grep CONFIG_VMSPLIT . Hanya saja solusi dengan rpi-update tidak berfungsi karena belum ada kernel baru untuk Pi3. Tetapi Anda dapat mengkompilasi ulang kernel Anda dengan memori 2GB / 2GB.
Janka
1
Ini sangat normal, Pi3 saya menunjukkan MemTotal: 882776 kB MemFree: 126868 kB MemAvailable: 689576 kB"Dalam keadaan normal, PERNAH ada kebutuhan untuk menjalankan rpi-update karena selalu membawa Anda ke firmware terdepan dan kernel dan karena itu mungkin versi pengujian, itu bisa membuat RPi Anda tidak bisa di-boot". raspberrypi.org/forums/viewtopic.php?p=916911#p916911
Milliways
Apa yang vcgencmd get_mem arm && vcgencmd get_mem gpuditunjukkan?
Milliways

Jawaban:

14

Jika outputnya vcgencmd get_mem arm && vcgencmd get_mem gpuadalah

arm=880M
gpu=128M

Ini berarti GPU menggunakan 128M.

Ini dapat diverifikasi / diubah raspi-config Advanced Options, meskipun saya belum mengurangi GPU sendiri. Saya pergi dari memori, tetapi saya pikir ini adalah default, mungkin terkait dengan Kamera. Setidaknya Anda sekarang tahu di mana ingatan Anda.

Milliways
sumber
Ya, ini semua tentang kamera.
vaha
880M dan 128M menambahkan hingga 1008M. Di mana 16M lainnya?
v7d8dpo4
@ v7d8dpo4 Dari pertanyaan:memory size for GPU is 16MB
David Starkey
9

Pertama-tama, saya memberikan salam terbaik saya kepada @Milliways karena menyarankan untuk memeriksa 2 perintah sederhana.

vcgencmd get_mem arm && vcgencmd get_mem gpu

Di mana memori 128MB yang hilang?

Bahkan jika kedua raspi-configdan /boot/config.txtmengatakan bahwa jumlah memori yang tersedia untuk GPU adalah 16MB, nilai yang sebenarnya adalah 880MB untuk CPU, 128MB untuk GPU.

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

Jadi, memori 128MB yang hilang (sebenarnya tidak hilang) dicadangkan untuk GPU .

Apa yang menyebabkan situasi ini?

Bahkan /boot/config.txttermasuk garis gpu_mem=16, ada garis lain yang memungkinkan modul kamera.

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

Jadi, mengaktifkan modul kamera menyebabkan reservasi memori 128MB untuk GPU yang secara implisit tersirat di sini .

Singkatnya, kita dapat mengatakan itu start_x=1mengesampingkan gpu_mem=16.

Setelah menonaktifkan modul kamera start_x=0, inilah nilai-nilai memori:

root@mypi:~# vcgencmd get_mem arm && vcgencmd get_mem gpu
arm=992M
gpu=16M
vaha
sumber
2
Yup, kamera default ke reservasi 128Mb. Ini dapat bekerja dengan pemisahan yang lebih rendah (jika saya ingat dengan benar, semuanya turun ke 32MB) tetapi dengan fungsionalitas yang lebih terbatas (semakin sedikit memori, semakin rendah resolusi yang dapat Anda tangani dan sebagainya). Jika pemisahannya terlalu kecil (seperti 16Mb), itu hanya akan menjadi 128.
Dave Jones
-1

Selain opsi rpi-update, tampaknya ada alasan lain (mungkin) mengapa memori yang dilaporkan kurang. Kali ini untuk melakukan dengan ruang kernel / ruang memori pengguna. Posting ini merinci perbaikan yang melibatkan mengubah konfigurasi kernel build dan membangunnya kembali dari kode sumber. Satu pengguna melaporkan keberhasilan

oleh tesla01 »Kamis 05 Feb 2015 8:04 siang Hai, saya mengkonfirmasi bahwa opsi 2G / 2G berfungsi saat menggunakan kernel kustom

5 Februari 19:17:12 raspberrypi kernel: [0.000000] Memori: 940776K / 966656K tersedia (5785K kode kernel, 377K rwdata, 1760K rodata, 396K init, 771K bss, 25880K disediakan)

Terima kasih :)

Anda harus memverifikasi ini memang penyebabnya (dengan memeriksa nilainya CONFIG_VMSPLITadalah salah satu CONFIG_VMSPLIT=3Gatau CONFIG_VMSPLIT=2G) karena beberapa pos selanjutnya di tautan itu melaporkan keberhasilan seperti

oleh birdman »Kamis 12 Februari 2015 10:01 siang. Hanya sebentar ini ada pembaruan untuk libraspberrypi- * dan raspberrypi-bootloader. kernel sekarang 3.18.7-v7 +. memori sekarang dilaporkan oleh top sebagai "KiB Mem: 998096"

Terima kasih!!

sementara beberapa lainnya tidak memiliki hasil yang sama

Sayangnya saya tidak berada dekat PI saya untuk memverifikasi semua klaim ini.

Shreyas Murali
sumber