Saya memiliki papan tertanam dengan 512MB RAM yang menjalankan Linux 2.6.29 dan bootloader UBoot. Tetapi kernel hanya mampu memanfaatkan 128MB RAM.
Saya mencoba mengubah nilai XCODE_MEMSIZE
, yang menurut saya menentukan berapa banyak RAM yang digunakan kernel.
Ketika saya mengaturnya ke 512, kernel lumpuh saat boot. Apakah ada parameter konfigurasi lain yang perlu diubah?
cat /proc/cmdline
memberitahumu di papan tulismu?Jawaban:
Tanpa pengetahuan yang lebih spesifik tentang board tertanam Anda, dua hal muncul di benak Anda.
Coba
mem=
parameter boot kernel . (Saya pikir kadang-kadang memori mungkin tersedia dari alamat yang tidak berkelanjutan sehingga Anda mungkin harus menggunakan sesuatu seperti ini, tetapi alamat tersebut harus diperiksa per Anda mobo.mem = 512M @ 0 mem = 256M @ 0x80000000 mem = 256M = 0xc0000000
Apakah Anda sudah menyematkan kartu grafis? Itu mungkin mengambil sepotong ram yang tersedia. Jika Anda bisa mendapatkan bios atau yang setara, periksa itu.
@lihat parameter kernel untuk informasi lebih lanjut tentang
mem=
sumber
Saya kira Anda harus menambah
RAM Disk
ukuran di kernel Anda.sumber
Selain postingan lain yang lebih spesifik, saya juga menyarankan unmount
/dev/shm
jika sudah di-mount. Itu adalah sistem file ramdisk dan memakan ram Anda.Lihat juga
sysctl
perintah di linux. Melakukan sesuatu sepertisysctl -w kernel.shmmax="<some number>"
mengubah kernel ketika sedang berjalan.sumber