Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am working on a huge data set, I want to know how much virtual memory is available for 32 and 64 versions of Ubuntu.


share|improve this question
How huge ? Why is your question tagged RAM but referring to virtual memory ? What application will manage your data set ? – jlliagre Sep 8 '13 at 19:55
I'm working on face recognition project, i might need 30+ GB (if i load RGB images) of virtual memory, My PC has 16 gigs of ram. – Prithvi Krishna Sep 9 '13 at 14:38

The limited RAM problem is a problem that affects all OS's. The theoretical limit of RAM is caused by the limit of adresses. With 32bit technology, the effective limit is about 3,4 GB.

The RAM of 64bit systems is for the moment not limited by such a number, but much more by the lack of possibility to build machines with that much RAM. Wikipedia says, the limit is 16 Exabyte.

Hope this helped.

share|improve this answer
RAM and virtual memory are the same subject, since they are accessed the same way by an application. – user1974 Sep 9 '13 at 23:23

As your PC has 16 GiB of RAM installed, a single 32 bit application running on a 32 bit kernel can use a little bit larger than 3 GiB (not 4 GiB as it has to share a portion of its memory with the linux kernel).

A 64 bit application on a 64 bit kernel will have a much higher "usable" address space essentially limited by the overcommiting configuration.

If you plan to really make use of a lot of allocated page, you need to make sure these pages are backed either by RAM or by swap area. For example, if you have configured the swap partition to be 16 GiB, you won't be able to access more than 32 GiB minus the amount of memory already reserved by the kernel and by other applications running.

There is an exception to that limitation. If you use read-only or shared memory mapped files, there will be no need to paginate out their content to the swap area so their size will add to the usable address space of your program.

In your case, I then would suggest to use memory mapped files to load and possibly process your RGB images. Beware though that if your working set of memory significantly exceed the RAM size, performance will severely be degraded due to memory thrashing.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.