virtual memory

To post any request/idea for new functionalities
Post Reply
geotyr
Posts: 18
Joined: Thu Jul 31, 2014 8:20 am

virtual memory

Post by geotyr »

Hello

I am currently working with a laptop that has small RAM capacity <3Gb but it has a solid state hard disk.
I have a paging file for virtual memory of 16Gb but I cannot use this memory when using CC.
Would it be possible make this virtual memory available to the software?

Thank you
daniel
Site Admin
Posts: 7707
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: virtual memory

Post by daniel »

What is the OS architecture? 32 or 64 bits?
Daniel, CloudCompare admin
geotyr
Posts: 18
Joined: Thu Jul 31, 2014 8:20 am

Re: virtual memory

Post by geotyr »

32bits

why? should it work with a 64bits?

..anyway 64bits os can use more RAM memory than 32bits so I guess that virtual memory is more useful for 32bits..(?)
daniel
Site Admin
Posts: 7707
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: virtual memory

Post by daniel »

Indeed, the issue with 32 bits programs is that they can only use (address) 4Gb of memory. And to use the graphic card memory, Windows simply removes the equivalent quantity from the CPU memory! See https://msdn.microsoft.com/en-us/librar ... 85%29.aspx.

This is why you could install 8 Gb of memory on your PC or define a swap as big as you want, a single 32 bits program can't use more than a few Gb (it would only be useful if you have several 32 bits programs running at the same time). And installing 8 Gb on your PC while running a Windows 32 bits version would be useless (Windows won't even "see" the additional 4Gb).

A 64 bits program (necessarily running on Windows 64 bits) can address up to 128 Gb. So it's currently considered as "unlimited".
Daniel, CloudCompare admin
geotyr
Posts: 18
Joined: Thu Jul 31, 2014 8:20 am

Re: virtual memory

Post by geotyr »

I understand the RAM limitation or physical memory limitation but I do not understand the paging file limitation.
Why is it not possible to use this available memory?
Actually, I would not understand at all the use of a paging file if programs cannot use it..Is it related to the graphic card?

I am not sure it is useful but just in case

http://blogs.technet.com/b/markrussinov ... 55406.aspx
daniel
Site Admin
Posts: 7707
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: virtual memory

Post by daniel »

All the problem is about "addressing".

A single 32 bits program uses 32 bits "pointers" to locate data in the memory. 32 bits = 2^32 = 4294967296 = 4 Gb. So a 32 bits program (whatever the OS by the way) can't "address" more than 4 Gb or memory. The installed memory or paged memory doesn't change anything about this limitation.

The paging system lets several programs use more than 4 Gb of memory at the same time. Each process gets its own share of (virtual) memory assigned by the system. But this portion of virtual memory can't be greater than 4 Gb due to this 32 bits addressing issues.

Look at your blog's article:
A 32-bit process uses 32-bit virtual memory address pointers, which creates an absolute upper limit of 4GB (2^32) for the amount of virtual memory that a 32-bit process can address.
Daniel, CloudCompare admin
geotyr
Posts: 18
Joined: Thu Jul 31, 2014 8:20 am

Re: virtual memory

Post by geotyr »

thanks a lot for the explanations!!
Post Reply