Increasing kernel memory size

6,221

Solution 1

Without more specific knowledge of your embedded board two things come to mind.

  1. 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

  2. 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.

Share:
6,221

Related videos on Youtube

Renan
Author by

Renan

My other presence online: blog Twitter GitHub LinkedIn last.fm

Updated on September 18, 2022

Comments

  • Renan
    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
      Admin over 12 years
      Can you be more specific regarding the crash you mention? What do you see on screen? Any errors?
    • Admin
      Admin over 12 years
      And what board is it?
    • Admin
      Admin over 12 years
      Really 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
      Admin over 12 years
      how much memory is u-boot detecting? Does it detect the whole of 512MB?
  • phemmer
    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
    LawrenceC almost 12 years
    You 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
    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.