Bir program 512MB RPi'de çalışıp çalışmadığını nasıl kontrol eder?


12

512 MB RPI'ların farklı bir pano revizyonu var mı?

yani, sadece /proc/cpuinfo512 MB RPi olup olmadığını belirlemek için revizyona bakabilir misiniz?

Aksi takdirde kontrol etmenin en kolay yolu nedir?


Başlangıç ​​dosyalarını değiştirmek için bir araç yazmadıkça veya kullanıcıya sahip olduklarını veya mevcut önyükleme yapılandırmalarının donanımdan tam olarak yararlanıp yararlanmadıklarını bildirmek istemiyorsanız, sonuçta bilgiyle fazla bir şey yapamayacağınızı unutmayın. Linux çekirdeği altındaki ARM'deki bir uygulama programı, GPU başlangıç ​​kodu tarafından verilmedikçe, fazladan belleği kullanamaz.
Chris Stratton

Yanıtlar:


10

Dediğiniz gibi, cat /proc/cpuinfo | grep Revisionkomut size pano revizyonunu verecektir. Düzeltmenin onaltılık bir değer olduğunu lütfen unutmayın. Ondalık eşdeğerini görüntülemek için bu komutu çalıştırın printf '%d\n' 0x#, #onaltılık değer önceki komutla görüntülenen olduğunu.

Aşağıdaki şemaya göre, kodlar 13 , 14 ve 15 için tek 512 MB kurulu.

Model and revision                                          Decimal code(s)     Hexadecimal equivalent
Model B Revision 1.0                                        2                   0x2
Model B Revision 1.0 + ECN0001 (no fuses, D14 removed)      3                   0x3
Model B Revision 2.0                                        4, 5, 6             0x4, 0x5, 0x6
Model B Revision 2.0 (512 MB)                               13, 14, 15          0xd, 0xe, 0xf

Kaynak: Element14 topluluk belgeleri


1
Bunun gelecekte değişebileceğini unutmayın. Eminim ki 13,14,15 kodları her zaman 512 MB RAM'e sahip olursunuz, ancak başkaları da olabilir. Ve sonra tüm kodların> 512MB olduğunu varsaymak iyi bir fikir değildir, çünkü bunun doğru olup olmayacağını bilmiyoruz. Bu yüzden komut dosyalarında vb. Kullanılmamalıdır
Krzysztof Adamski

1
Pi'm büyük harflerle "512 MB RAM" diyen bir çıkartma ile kutuya geldi ancak /proc/cpuinfodiyor Revision : 0005. Ben bir görüntüden önyükleme ediyorum 2012-09-18-wheezy-raspbian.zipdenhttp://www.raspberrypi.org/downloads
RedGrittyBrick

@RedGrittyBrick: Benim için de aynı şey. Pi'mi dün aldım ve resmi bloga göre 512MB RAM versiyonum var (çipte "4G" yi görebiliyorum). Ancak cat /proc/cpuinforevizyon 5'i geri döndürür. Revizyon SoC'de yazılı değil mi? Raspian'ın 512MB RAM sürümünü "tanıması" için bir güncellemeye ihtiyacı var mı?
Morgan Courbet

@Morgan: Sizinki gibi, Pi'imdeki CPU'nun üst çipi (RAM) Samsung K4P4G324EB olarak işaretlendi ve Samsung'un bilgisi bunun "128Mx32" = 4 GBit = 512 MB olduğunu doğruladı. Bir bellenim güncellemesinin gerekli olduğunu öneren bir yerde bir forum öğesi okudum (sanırım bu SD karttaki dosyalardan biri)
RedGrittyBrick 21:12

@RedGrittyBrick: Şimdi aldım Revision: 000f. Muhtemelen son zamanlarda dist-upgrade.
Morgan Courbet

7

Linux gibi modern bir işletim sisteminde, gerçekten kontrol etmeniz gereken şey, genel amaçlı kullanım için ne kadar belleğin sağlanmış olduğudur; fiziksel olarak kurulu toplamdan daha az olabilir. Örneğin, 256 MB boyutundaki bir yüklemeyi çalıştıran 512 MB'lık bir pi, bu belleği sizin için kullanılabilir hale getirmez.

Daha sonra, pi'de CPU ve GPU bellek bölünmesi gibi başka bir sorun var - GPU önyükleme işlemi zaten mevcut olduğundan, ARM CPU'nun Linux önyüklemesi sırasında kullanımı için mevcut bellekten önemli ölçüde daha az bir şey bile mevcut olacak. kullanılan start.elf dosyasının belirlendiği şekilde önemli miktarda talep etti.

Doğrudan soruyu cevaplamak için, ilk satır /proc/meminfoveya freekomutun genel olarak Linux için ne kadar fiziksel bellek bulunduğunu belirtmesi gerekir.

Belirli bir uygulama için ne kadar bellek kullanılabilir olduğu daha karmaşıktır - çekirdek, tamponlar ve diğer uygulamalar belleği talep eder. Ve belki de tek bir "disk" olarak bir SD kart ile yaygın olarak kullanılmasa da, bir takas bölümü mevcut sanal belleği fiziksel RAM'i aşabilir.

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.