Page 1 of 1
virtual memory
Posted: Fri Jan 30, 2015 11:10 am
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
Re: virtual memory
Posted: Fri Jan 30, 2015 11:38 am
by daniel
What is the OS architecture? 32 or 64 bits?
Re: virtual memory
Posted: Mon Feb 02, 2015 6:08 pm
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..(?)
Re: virtual memory
Posted: Mon Feb 02, 2015 6:29 pm
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".
Re: virtual memory
Posted: Tue Feb 03, 2015 3:28 pm
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
Re: virtual memory
Posted: Tue Feb 03, 2015 4:04 pm
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.
Re: virtual memory
Posted: Mon Feb 09, 2015 3:29 pm
by geotyr
thanks a lot for the explanations!!