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