Increasing kernel memory size
Solution 1
Without more specific knowledge of your embedded board two things come to mind.
-
Try kernel
mem=
boot parameter. (I think sometimes the memory might be available from non-continous address so you might have to use something like this, but the addresses will be have to be checked per you mobo.mem=512M@0 mem=256M@0x80000000 mem=256M=0xc0000000
Do you have embedded graphics card? That might take out a chunk of your available ram. If you can get to the bios or equivalent, check that.
@see Kernel paramters for more information on mem=
Solution 2
I guess you should increase RAM Disk
size in your kernel.
Related videos on Youtube
Renan
My other presence online: blog Twitter GitHub LinkedIn last.fm
Updated on September 18, 2022Comments
-
Renan almost 2 years
I have an embedded board with 512MB of RAM running Linux 2.6.29 and UBoot bootloader. But the kernel is able to utilize only 128MB of RAM.
I tried changing the value of
XCODE_MEMSIZE
, which I think determines how much RAM the kernel uses.When I set it to 512, the kernel crashes while booting up. Is there any other configuration parameter that needs to be changed?
-
Admin over 12 yearsCan you be more specific regarding the crash you mention? What do you see on screen? Any errors?
-
Admin over 12 yearsAnd what board is it?
-
Admin over 12 yearsReally need to provide more details about 'only able to use 128MB'. It sounds like something has been limited somewhere (stack size per user, etc).
-
Admin over 12 yearshow much memory is u-boot detecting? Does it detect the whole of 512MB?
-
-
phemmer over 12 years/dev/shm uses barely any memory if its empty. It will only start using ram once files are loaded into it.
-
LawrenceC almost 12 yearsYou may need to specify a value less than 512M - perhaps there's a device or something at or near physical address 0x20000000 (512M) in the board's memory map, which, you should get a copy of to know where the RAM lives on your board.
-
Satish over 11 years/dev/shm is nothing but implementation of traditional shared memory concept. It is an efficient means of passing data between programs. One program will create a memory portion, which other processes (if permitted) can access. This will result into speeding up things on Linux.