September 23, 2008 · General · Email This Post

Currently It seems that the current 32 bit editions of Ubuntu can only take advantage of 3GB (sometimes a little more) of physical memory. Desktops and gaming rigs using 6 and 8 GB of RAM are ubiquitous now.I am having a ubuntu desktop with 5GB RAM and i want to use all the available memory for gaming.



Procedure to follow

You need to install the following packages and restart your PC

sudo apt-get install linux-restricted-modules-server

sudo apt-get install linux-headers-server

sudo apt-get install linux-image-server linux-server

That's it after rebooting you should be able to see all the memory available in your system.

Sponsored Link

Incoming search terms:

Related posts

44 Comments to “How to Use more than 3GB RAM on 32-bit Ubuntu”

  1. questioning says:

    does this work, I thought 32 bit os can only use 2GB of ram for user.

    [Reply]

  2. Per Brille says:

    You want to use your system for gaming – and you install a kernel made for non-interactivity – the server flavor..
    Sounds like a bad choice if you ask me..

    Better way to do it would be to grab the sources and config for the desktop kernel, add PAE support yourself, build a package.. Done in a couple of commands.. or just go for the 64 bit version..

    .. oh, and you should probably also explain a bit about PAE-mode and so on, not just write “install server kernel”..

    [Reply]

  3. Scott Wegner says:

    Can you explain how this is even possible? The addressable limit on a 32-bit processor is 2^32 => 4 GB. Thus, it seems there should be a hard-cap at 4GB. 32-bit Windows actually gets a little less than this, because additional address space is reserved for other hardware I/O.

    How does this separate kernel (I assume that’s the difference) provide addressing over this cap?

    [Reply]

  4. Yonatan says:

    Should I expect any problem after installing those packages ?
    Will I be able to remove them in case It will not work out properly ?

    [Reply]

  5. admin says:

    @scott

    Linux cannot use more than 3 GB RAM per process on a 32 bit machine (using the default CONFIG_VMSPLIT_3G=y).
    But if your CPU supports PAE (http://en.wikipedia.org/wiki/Physical_Address_Extension) – which is very likely – you can use more than 3 GB RAM for the whole system.

    [Reply]

  6. Alecs says:

    Hello,

    Just one question. Why not directly deploy 64bit system instead of using server kernel?

    What are advantages or disadvantages?

    Alecs

    [Reply]

  7. Scott Wegner says:

    @Admin: Thanks for the link on PAE, I had never heard of it before. Who knew x86 had an extra 4 bits, cool!

    @Alecs: The benefits is that you can still take advantage of your extra RAM if you’re stuck on a 32-bit CPU. If you have a 64-bit machine, by all means, go for a 64-bit version of the OS.

    [Reply]

  8. BobCFC says:

    The advantage of 32bit is compatibility.. some things such as Flash and Quake4 are 32bit only (proprietary things usually, opensouce is fine)

    I run 64bit because I have 8gb and yes flash does work with a wrapper but every now and then you have to close the browser because videos just freeze up. Very frustrating if you have loads of tabs open.

    Adobe are so slow to develop by the time is is sorted HTML5 will have native video (h.264) and we won’t even need it lol

    [Reply]

  9. Mike Ajitsingh says:

    I use 64 Bit Hardy and I haven’t had any compatibility issues at all. Many programs such as Skype require a 32 Bit machine to work properly but with 64 Bit Ubuntu you can force the application to work, and it works perfectly. As far is Flash applicatons are concerned I haven’t had any adverse issues regarding it’s use. For my laptop I have a 1.66 Ghz Intel Core 2 Duo with 2 Gigs of RAM.
    So my suggestion is that if you have a 64 Bit processor then by all means use the 64 Bit OS.

    [Reply]

  10. tje says:

    Hi there,

    You said that “the current 32 bit editions of Ubuntu can only take advantage of 3GB (sometimes a little more) of physical memory.” Then my question is, how can we know that?

    I want to see the differences before install those packages and after install those packages you mentioned.

    Thanks for your answer

    Tje

    [Reply]

  11. Diaa Sami says:

    @Tje: I think you can, after installing the packages, run free, htop or top and you’ll see that you’re using say 5 of the 8 gigs of RAM that you have, then in this case you are accessing more than 3G of mem.
    If you don’t like then you can easily remove the packages and restore the old kernel or you can even keep both and try each for a while :)

    [Reply]

  12. karlzt says:

    cool i just Googlebookmarked this one

    [Reply]

  13. tje says:

    Hi Diaa,

    Yes you are right, we can check right away using free or top tools. I should think of these tools before asking. I know already these tools, just didn’t think of it before.

    Thanks mate.

    [Reply]

  14. tje says:

    Hi there,

    Another curious question, I see that the packages we need to install are related to server, not for gaming, not even related to memory or swap. How come those packages could affect memory management?

    Thanks for the response :-)

    [Reply]

  15. admin says:

    @Tje

    Please read the link menctioned in comment#5 you will get better understanding of linux 32-bit kernel

    [Reply]

  16. Antares says:

    I have a laptop with 4 gb RAM, but the Ubuntu 8.04 64 bit just recognizes 2,9 gb RAM. I tried to install a server kernel, but it did not work. I can’t understand why…

    [Reply]

  17. TizzyD says:

    @Antares

    Most likely because the motherboard chips don’t support an address space that large. I use a MacBook Pro, and until the Santa Rosa chips started to be used, I could get to the 4GB of RAM that the system can hold. I could take the same chips and put them into the Santa Rosa-based MacBook Pro my daughter has, and yep, all 4 GB are accessible.

    Looks like this may be a hardware limitation on your side.

    [Reply]

  18. Troels says:

    Well installing these packages surely made ubuntu recognize my last 1GB of RAM. However they also uninstalled my wireless netcard driver…

    [Reply]

  19. javier ruiz says:

    Thanks! :-)
    Un millón de gracias! Funciona perfecto!!

    [Reply]

  20. fandisallo says:

    to clean install for linux server kernel usi this command:

    sudo apt-get install linux-restricted-modules-server linux-headers-server linux-image-server linux-server avm-fritz-firmware drdsl

    ** after install lation reboot. you can login normal as usual

    [Reply]

  21. fandisallo says:

    after login you can easily see you are using all 4gb RAM in Sysinfo

    [Reply]

  22. Phil says:

    I am happy to report that I was able to enable all 8Gb on my system and continue using the restricted Nvidia drivers, on Intrepid (Ubuntu 8.10)

    This is what I used:

    sudo apt-get install linux-restricted-modules-2.6.27-7-server linux-headers-2.6.27-7-server linux-image-2.6.27-7-server linux-server

    I had to specify the kernel release for the restricted modules – the repo did not have ‘just’ linux-restricted-modules-server available.

    [Reply]

  23. Steve says:

    I just ran and rebooted but still I am only using about 3.5GB of the 4 I have installed and BIOS recognizes all 4GB. I am at a loss any ideas?

    [Reply]

  24. Vasja Pupkin says:

    Yehh! Greate! It’s works on my LENOVO R61! Now 4GB available…
    …10x 2x10x 3x10x !

    [Reply]

  25. tonyshangrila says:

    Meh. Drag– broke my nvidia driver on Intrepid. Wonder how Phil avoided that…?

    [Reply]

  26. Lou says:

    @ Tonyshangrila:

    I am a newbie, but this worked for me. I used exactly what phil used and then I went to synaptic package manager and got the nvidia 180 drivers and linux-headers for kernal 2.6.27-9 server. I then activated the nvidia 180 drivers and rebooted. All works fine now.

    [Reply]

  27. ravi says:

    brilliant. worked perfectly for me on gOS.

    well, I didn’t go on to a 64 bit version of ubuntu because most of the software that I use are 32 bit, and there is no point in installing a 64 bit OS when all your apps are 32 bit.

    I did consider the option of upgrading to 64 bit, but this little piece of advise has saved me a lot of trouble.

    [Reply]

  28. Bruce Edge says:

    A better option might be to download the kernel source for the desktop image and rebuild it with PAE enabled. If you get the server kernel you lose preemption with leads to a less responsive system. Rebuilding with PAE on leaves the desktop kernel options all in place and only chnages the RAM option.
    Frankly thy should just leave PAE on for all kernels now since many machines have > 4GB RAM now.
    Here’s the info:
    cd /usr/src
    apt-get source linux-image-2.6.27-9-generic (or whatver rev’s current)
    cd linux-2.6.27
    cp /boot/config-2.6.27-14-generic .config (grab the current desktop kernel config options)
    make menuconfig (Processor types & features, high mem support and pick 64MB)
    While you’re at it, you can pick your specific processor too to get a bit more speed out of it.
    save & exit
    make-kpkg --initrd binary
    cd ..
    dpkg -i

    [Reply]

  29. Bruce Edge says:

    Stupid editor dropped the angle brackets.
    dpkg -i “the kernel pachages you just built”

    [Reply]

  30. raymond says:

    Steve:

    You need to make in menu.lst file, the default kernel is the kernel you just installed.

    Ray

    [Reply]

Leave a Reply