Çekirdek bellek boyutunu artırma


14

Linux 2.6.29 ve UBoot önyükleyicisini çalıştıran 512MB RAM ile gömülü bir kartım var. Ancak çekirdek yalnızca 128 MB RAM kullanabilir.

I değerinin değiştirilmesi çalıştı XCODE_MEMSIZENe kadar RAM çekirdek kullanımları tespit düşünüyorum.

512 olarak ayarladığımda, önyükleme sırasında çekirdek çöküyor. Değiştirilmesi gereken başka bir yapılandırma parametresi var mı?


Bahsettiğiniz kilitlenme konusunda daha spesifik olabilir misiniz? Ekranda ne görüyorsun? Herhangi bir hata var mı?
Straphka


'Yalnızca 128MB kullanabilme' hakkında daha fazla ayrıntı sağlamanız gerekiyor. Bir şey bir yerde sınırlanmış gibi görünüyor (kullanıcı başına yığın boyutu, vb.).
polinom

u-boot ne kadar bellek algılıyor? 512MB'ın tamamını algılıyor mu?
freethinker

cat /proc/cmdlineTahtada sana ne anlatıyor?
Ankur Agarwal

Yanıtlar:


3

Gömülü kartınız hakkında daha spesifik bilgi olmadan iki şey akla gelir.

  1. Çekirdek mem=önyükleme parametresini deneyin . (Sanırım bazen bellek sürekli olmayan bir adresten erişilebilir olabilir, bu yüzden böyle bir şey kullanmak zorunda kalabilirsiniz, ancak adresler mobo başına kontrol edilmelidir.

    mem = 512M @ 0 mem = 256M @ 0x80000000 mem = 256M = 0xc0000000

  2. Gömülü grafik kartınız var mı? Bu sizin mevcut koçunuzun bir kısmını çıkarabilir. Eğer bios ya da eşdeğerine gidebiliyorsanız, kontrol edin.

@see Çekirdek hakkında daha fazla bilgi için parametrelermem=


512M'den daha düşük bir değer belirtmeniz gerekebilir - belki de kartın bellek haritasında 0x20000000 (512M) fiziksel adresinde veya yakınında bir cihaz veya bir şey vardır, bu da RAM'in kartınızda nerede yaşadığını öğrenmek için bir kopyasını almalısınız.
LawrenceC

1

Sanırım RAM Diskçekirdeğinizin boyutunu arttırmalısınız .


-1

Daha spesifik olma konusundaki diğer gönderilere ek olarak /dev/shm, monte edilmişse sökülmesini de öneririm . Bu bir ramdisk dosya sistemi ve koçunuza yiyor.

Ayrıca sysctllinux'daki komuta bir göz atın . Böyle bir şey yapmak sysctl -w kernel.shmmax="<some number>"çekirdek çalışırken çekirdeği değiştirir.


4
/ dev / shm boşsa neredeyse hiç bellek kullanmaz. Yalnızca dosyaları yükledikten sonra ram kullanmaya başlayacaktır.
Patrick

/ dev / shm, geleneksel paylaşılan bellek kavramının uygulanmasından başka bir şey değildir. Verileri programlar arasında geçirmenin etkili bir yoludur. Bir program, diğer işlemlerin (izin veriliyorsa) erişebileceği bir bellek bölümü oluşturur. Bu Linux'ta işleri hızlandırır.
Satish
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.