Having trouble: Adding RAM with a USB memory stick to a Windows XP desktop that has 4GB installed

Short form:

I want to use a 16GB USB flash drive memory stick as RAM, but seem to be unable to use more than 4GB, due to the system requirements, limiting what I can enter for values (size). WHY??

More detail:

The computer is a desktop machine, having a 3.0GHz dual-core processor, and 4GB RAM installed. I believe the hard drive is a 1T.

I have a 16GB USB flash drive memory stick, which I want to use to boost the RAM, for games, and such. There are 3 spare USB ports on the back of the tower. The flash drive is new, with NO files saved on it.

When I go into the Settings; Computer; Virtual Memory, the computer is not allowing me to enter a value greater than 4096 in the field for "Initial Size" or "Maximum Size", for the Page File of the USB drive.

The Value for C: that I see is: "2096-4092".

Main Question:

Is there some reason why I cannot allocate more of the memory stick for RAM?  

(Does the flash drive need to be formatted?)

Does the values for C: need to be changed?

I presently have "4090" entered for values "Initial Size" and "Maximum Size" in the custom size, for the Page File of the USB Drive.

Screenshot provided of Virtual Memory Settings screen: (you can see the L: drive settings (selected), and the C: settings, also)

http://prntscr.com/336ocy

Question 2:

Also, is the "4G" of RAM which I have added to the machine, being added to the 4GB which is already installed in the tower?


Question 3:

Does the OS wait until the system RAM is full before using the External RAM?

Thanks!

edit to add:

What I learned from Microsoft article "How To Set Performance Options in Windows XP":

http://support.microsoft.com/kb/308417/en-us

To manually change the size of virtual memory, follow these steps:

...Note After you change the size of the paging file, you may be prompted to restart Windows. If you are prompted to restart, the changes will not take effect until Windows is restarted. 
...

  • To have Windows select the best paging file size, click System managed size. The recommended minimum size is the same as 1.5 times the RAM on your computer, and 3 times that figure for the maximum size. For example, if you have 256 MB of RAM, the minimum size is 384 MB, and the maximum size is 1152 MB.
  • For best performance, do not set the initial size to less than the minimum recommended size under Total paging file size for all drives. The recommended size is the same as 1.5 times the RAM on your computer. It is good practice to leave the paging file at its recommended size as performance can decrease if a paging file is too large. However, you may increase its size if you frequently use programs that use lots of memory, such as graphics programs or games.

What I am unclear of here, is that, as you can see in the screenshot, the Recommended Size under Total paging file size for all drives is 3019M.

And, the values set for the Paging File in C are 2046-4092.

The tower has been rebuilt, and has 4GB RAM.

I do not know if these numbers reflect an original build of 2GB, whereas 3GB (3019M) would be 1.5 times the installed RAM, perhaps.

Under Virtual Memory, I see the following (shown in screenshot):

Drive C

Space available: 725194MB

*Custom Size

Initial Size: 2046

Maximum Size: 4092

Total paging file size for all Drives

Minimum allowed: 2MB

Recommended: 3019MB

Currently Allocated: 2046MB

Given that the system has 4GB RAM installed, shouldn't the minimum be 1.5 times that value, or ~6000MB ? (not 3019MB), and the maximum be 3 times ? (not 4092)

"The recommended minimum size is the same as 1.5 times the RAM on your computer, and 3 times that figure for the maximum size."

Can I change the values on the Virtual memory for C drive to 2046-12000MB ?

That is what I am reading from the article. But, it also says to not have a paging file on the same drive as the programs.

"Try to avoid having a paging file on the same drive as the system files, usually drive C."

Also, why am I unable to enter values greater than 4096 for the USB drive in Initial or Maximum?

I also have a question as to whether I should select "Programs" or "System Cache" in memory usage, due to the cache requirements of games, running very few programs. 

edit 2:

I learned that the usb drive needs to be formatted in NTFS, so I did that, which isn't easy, as that isn't a selection in the choices in the Format menu, without going into Device Mgr. 

A friend was telling me about formatting a usb drive ex-fat for a newer application, and got me thinking. I had selected FAT32 for this one, and had noticed no change in the page file graph usage after adding the drive, like it wasn't getting any data placed on it.

So, as custom settings for this USB drive, I have the Initial value at 4091 and the Maximum at 4096, with "System Cache" selected as opposed to "Programs" in Memory usage, in Performance settings.

Any answers or tips would be appreciated.

Am I on the right track?

 

Question Info


Last updated August 8, 2018 Views 2,956 Applies to:

* Please try a lower page number.

* Please enter only numbers.

* Please try a lower page number.

* Please enter only numbers.

You must add the /PAE switch to the boot.ini file to overcome the 4,095 MB paging file size limit.  Windows does not permit placement of paging files on removable drives and Windows XP does not support Ready Boost.

John

Programmers are either not taught about Occam's razor or they forgot about it the following day.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Thanks.

So, Although, I have formatted the USB device NTFS, and selected it for paging file in Virtual Memory, you are saying that it will not be used as RAM because Windows does not permit it?

And, adding /PAE switch to the boot.ini file would allow increasing the value above 4096 for the maximum value of the C drive?

I was under the impression that a USB flash drive can be used to add RAM on a Windoes XP machine in this manner.

Are you saying that this cannot be accomplished at all, John? Is my only option increasing the maximum size of the C value? (aside from adding more RAM inside the tower)

edit to add: I have no idea where the boot.ini file is located

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Q:  So, Although, I have formatted the USB device NTFS, and selected it for paging file in Virtual Memory, you are saying that it will not be used as RAM because Windows does not permit it?

A:  Windows does not allow placement of paging files on any removable drives.

Q::  I was under the impression that a USB flash drive can be used to add RAM on a Windoes XP machine in this manner.

A:  No, that is incorrect.  As stated earlier, Windows operating systems do not permit use of removable media for paging files.  What you are thinking about is Ready Boost, this is not placing a paging file on the flash drive it is "disk caching", caching of the paging file for quicker access, there is nothing in the Ready Boost cache that is not already in the paging file on a fixed disk, any changes to the Ready Boost cache are first flushed to the paging file on the fixed disk before they can be then be then added again to the Ready Boost cache.  The concept here it that the cache can be read faster from from NAND memory (flash drives) than it can be read from the pagefile on the hard disk so the Ready Boost cache is used for read operations, on the flip side write operations are usually faster on hard disks than they are on flash drives but even if they were faster on flash drive the operating system would still not allow pagefile flushing to removable drives because of the disaster that would occur on surprise removal of the drive.  Ready Boost only became available on Windows Vista, it is not available on Windows XP.

Q:  And, adding /PAE switch to the boot.ini file would allow increasing the value above 4096 for the maximum value of the C drive?

A:  Yes, if you add the /PAE switch to the boot.ini file the operating system will use a different Page Table structure for the use of the CPU's Physical Address Extension and this will allow the use of larger pagefile.  The IA-32 processor architecture has a 32-bit address space so it can only address 4GB of memory (4,096MB) but the use of Physical Address Extension increases the CPU's address space from 32 bits to 36 bits and Windows will use the increased address space to allow for larger paging files.  To note that PAE is a kluge to be sure so it's usually most effectively used on well tuned, stable servers.

Q:  Are you saying that this cannot be accomplished at all, John? Is my only option increasing the maximum sixe of the C value? (aside from adding more RAM inside the tower)

A:  No, adding more RAM to the tower will do absolutely nothing unless you are using a 64-bit operating system or a 32-bit server version that can use PAE to increase the physical address space rather than just the virtual address space as Windows XP does.  Furthermore, even if you have 4GB of RAM installed you still won't be able to use it all because some of the processor's 4GB address space is exclusively reserved for direct access by some of the hardware, so in fact you will not be able to fully use the 4GB of RAM that you have now installed in the machine.  Incidentally when Windows XP was released it could address a full 4GB of RAM with the use of PAE but soon after its release it began to show increased fatal errors (BSOD) caused by misbehaving drivers so when Microsoft released SP2 for XP it did away with PAE ability to increase the RAM address space, this was just too much trouble on machines that are used by too many people who don't understand the need for well designed and well selected stable hardware on 32-bit operating systems making use of Physical Address Extension, these kind of machines are usually well thought out servers, not home machines that are yanked about and "experimented" with in Jekyll & Hyde kind of fashion that some home users give to their computers!

Q:  I have no idea where the boot.ini file is located...

A:  It's a hidden read-only system file at the root of the system partition, usually C:\.  You can remove the read-only attribute and edit it directly there or you can use this method:

  1. Right-click My Computer, and then click Properties.
    -or-
    Click Start, click Run, type sysdm.cpl, and then click OK.
  2. On the Advanced tab, click Settings under Startup and Recovery.
  3. Under System Startup, click Edit.

I have to ask, with 4GB of RAM installed in the machine why do you think that you need all that much paging space?  Are you working with humongous files or large databases?  I don't play many games but I don't think that there are many games out there that need to page out that much data, if so the game would be excruciatingly slow!

Now, with all of that being said, if you do a search for Gavotte Ramdisk you may find some interesting workarounds to the the 4GB limitations...

John

Programmers are either not taught about Occam's razor or they forgot about it the following day.

2 people were helped by this reply

·

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Thanks, John, for all the information and answers.!!! I do appreciate your time, and I think I am learning some things. :-)

I believe the best answer for the thought behind this, is in using the USB "as Ready Boost" (on the XP system). [This is what I am being told is possible to do]. ~now I am learning this is not so. There are many youtube videos and articles online showing "how to add RAM to XP with a USB flash drive." However, most that I have seen, are adding 2GB to a system which probably had only 1GB of RAM installed. (The publish dates of many of these are 2009-2011. Whether they even work, or not, I can't say.)

As far as increasing the page file size in C, on the XP machines, I was following the instructions of the Microsoft article (also linked above): ""How To Set Performance Options in Windows XP"

http://support.microsoft.com/kb/308417/en-us

" The recommended minimum size is the same as 1.5 times the RAM on your computer, and 3 times that figure for the maximum size."

You can see that they mention to set the initial and the max at 1.5 and 3x the installed RAM values, (which exceeds the 4096M limit I am encountering).  

This IS a rebuilt machine, and I do not know if the 4096MB value is a default Windows XP value, or if it is based on the 2GB RAM which I believe the machine was originally installed with. (The rebuild included a new 1T hard drive, motherboard, and 4GB RAM).

If you are accusing me of doing this: 'home machines that are yanked about and "experimented" with in Jekyll Hyde kind of fashion that some home users give to their computers! Well, sir, I am doing research, and asking questions before proceeding. I appreciate the wisdom of others, and those willing to share it. Knowledge is wisdom, and questions are the beginning of wisdom. I am trying to increase the performance of my machine, responsibly, not ruin it. I am a technician/electrician; not a "button-pusher"; "Let's see what happens if I press this button!" Please don't judge me like that.

Q: why do you think that you need all that much paging space? A: M*a*f*i*a*Wars is a Zynga game on facebook, which seems to consume a lot of RAM. There are not a lot of flashy action graphics, necessarily, but a lot of actions being performed; clicks being sent over the internet. Many, MANY clicks per second, per minute. I notice (on the XP machine's Task Mgr), in the Page File graph, the numbers will creep up to 2.88G. This is with one browser open, and 4 tabs (or 'users' within the browser; Chrome-based browser, open). As the PF graph rises, the computer seems to slow. (CPU usage typically 25-50%) dual-core 3.0GHz processor, seems OK, but sometimes at 60-80%.

Question: Does this indicate that the RAM is full, and this data is being 'cached' in the hard disk's page file (virtual RAM)? In comparison, I have a laptop notebook pc with Windows 7 Home Premium, and the Task Mgr shows RAM, as you know. A similar thing occurs. As more game tabs are opened, the RAM 'usage' rises, and computer response slows (CPU % rises). The idea, apparently, is that by adding more RAM, we can keep the cpu running at a lower % (faster). So, to summarize, I still am not sure that the settings for C drive Initial size, and Maximum Size, in Virtual Memory are set correctly, based on the current installed RAM. I will search for the information that you mentioned, on how to make the appropriate changes. I recall seeing on the Microsoft site that no discussion about performance would be complete without discussing adding more RAM. Thanks, again!

Also, in Performance Settings, on the XP machine, I have selected "System Cache" as opposed to "Programs". This was also mentioned in the article, as a possible solution. As I do not have many programs running while I am 'playing' M*a*f*i*a*Wars game.

edit to add:

Interesting reading on the Gavotte Ramdisk. ...Unsure about installing it. Seems to be a lot of conflicting comments about it. 

But, can I simply add the /PAE switch to the boot.ini file, and have the OS use more of the hard disk for paging file, if needed, by increasing the PF sizes of C in virtual memory?

Will I gain anything? (drop in cpu % / less lag /faster response)

Is it true that the Windows XP OS only uses or 'sees' 3GB of the 4GB installed RAM?

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Information which I found in search for Gavotte Ramdisk

1.  Enabling PAE

http://msdn.microsoft.com/en-gb/library/aa366796(VS.85).aspx

2.  Physical Address Extension - PAE Memory and Windows

http://msdn.microsoft.com/en-us/library/windows/hardware/gg487503.aspx

3.  Gavotte Ramdisk article

http://www.storageforum.net/forum/showthread.php/9627-Gavotte-Ramdisk-Utility

4.  How To Know Your System's Maximum RAM Usage And The Issue Of Windows XP Not Recognizing Full RAM Capacity

http://www.megaleecher.net/Windows_XP_PAE#axzz2woDMs0vr

5.  Making Use Of Non-Addressable Wasted RAM On 32 Bit Systems

http://www.megaleecher.net/RAMDisk#axzz2woDMs0vr

from article 2 above: 

"The PAE kernel can be enabled automatically without the /PAE switch present in the boot entry if the system has DEP enabled (/NOEXECUTE switch is present) or the system processor supports hardware-enforced DEP. Presence of the /NOEXECUTE switch on a system with a processor that supports hardware-enforced DEP implies the /PAE switch. If the system processor is capable of hardware-enforced DEP and the /NOEXECUTEswitch is not present in the boot entry, Windows assumes /NOEXECUTE=optin by default and enables PAE mode."

My boot file contains the /noexecute=optin/ ...so, it would seem that PAE is ENABLED automatically...

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect

...yet, I am still presented with the 4096 limit when trying to increase the maximum size of the PF 

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Don't take the Jekyll & Hyde comment personally, it wasn't directed at you but rather made to illustrate how home users sometimes do all kinds of things to their computers without really knowing or fully understanding the consequences of these actions, generally speaking machines in corporate/enterprise environments don't take the kind of abuse that home machines do.  To learn you have to experiment and you have to be willing to push the boundary, I've done (and still do) plenty of "experimenting" and at times some of it doesn't exactly turn out as expected...  I strongly encourage experimentation to those who want to learn, unexpected results are part of the learning experience.


There is a lot to address in your post, the Windows memory management is a rather complex subject so I'll just briefly address a few things and feel free to ask more questions if you need further clarifications or more in depth explanations.


Firstly, the page file size and the 1.5 to 3 times RAM recommendation:  This recommendation dates from the NT4 era and it made a lot of sense then when machines had very little RAM, on today's machines the recommendation is not always appropriate.  If the XP machine has less than 1 gig of RAM then you could follow the recommendation, if the machine has more than 1 gig then the recommendations are not necessarily appropriate, enabling PAE just for the sake of having a page file larger than 4GB may not be a very good idea.  In most cases rather than creating and excessively large page file it is best to have a the system dynamically manage the page file.  The argument against the system managed page file is that the page file may become fragmented and this may affect performance, if this is a concern then set a static page file.


The Task Manager and the PF usage information:  The Task Managers PF usage information is a bit misleading, this doesn't really report the page file size but rather the current commit charge or the page file that would be needed if all the running processes would ask for all their allocated memory all at once, in reality this doesn't happen very often.  If the commit charge is lower than the installed RAM then the page file is not really used other than for mapping purpose and the size of the file will for all intents and purposes be negligible.  The actual page file usage can be monitored with Perfmon or you can get small, simple and easy to use free third party utilities to do it.


About using flash drives as RAM disks:  Personally with the slower write times factored in the  equation I don't see much to be gained with this and I see a lot of potential problems.  Rather than trying to implement this I would instead try to reclaim the unused unaddressed memory in the upper address space and use it as a real RAM drive, this is the fastest available unused resource on your computer, depending on the hardware installed on your machine you may have 750MB to over 1GB or unaddressed unused RAM in your machine, with Gavotte's RamDisk you may be able to reclaim this unused RAM, having a page file on this disk would be ideal as the system would page in the RAM rather than from RAM to disk.

Other paging file strategies:  If your system really needs a page file larger than 4GB or if the system must page then you can have multiple paging files, Windows can have a bunch of paging files!  Ideally the paging files should be on different hard disk (not different partitions on the same disk) and on computers with IDE disks the paging paging file should not be on a disk that is in a master/slave relationship with the operating system disk or another busy disk, on SATA disks this doesn't matter.  On older computers with IDE controllers an effective way of spreading multiple page files about on different disks is to use and add-on IDE controller card.  If you have more than one paging file on different disks then by default Windows will favour the page file on the least busy disk.  If you are running a server or application that needs a lot of paging space and if you only have one hard disk you can still make use of multiple paging files by mounting them to folders.


These may be helpful:


Ask the Performance Team:  What is the Page File for anyway?


Make Sense of Memory Management and Key Memory Measurements


Things to consider before you enable System cache mode in Windows XP

RAM, virtual memory, pagefile, and memory management in Windows

The Virtual-Memory Manager in Windows NT


John

Programmers are either not taught about Occam's razor or they forgot about it the following day.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Thanks, again!. I'll give those links a read, too.

I put the setting back to "Programs", as opposed to "System Cache", in Memory. Things just didn't seem to be loading very fast.

And, I will give the article on Gavotte's RamDisk another read. It sounds great! There just seemed to be as many negative comments as there were positives. 

I see your point about the "1.5x-3x" settings. I did add the /PAE so that I could increase, but before I keep the C PF at a high value, I'll try the RamDisk.

I have a separate issue, that when the computer starts, a screen displaying the motherboard model info is shown, and I have to press F8, then select SATA from a menu for the computer to boot properly. (This before I changed anything).

Now, since I added the /PAE, it is asking me to select from 2 choices of Windows XP (after selecting SATA from the list, after pressing F8.

after adding /PAE 

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /PAE /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /fastdetect

(I copied the last line, and added the /PAE in. A couple examples appeared to look like this. Maybe it is improper. Of course, it has the noexecute=optin there also.)

But, the "F8 and SATA" quirk was happening for a while. Now, it is asking me to select the OS. But, runs okay once it boots up. It does take a long time... on a black screen.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

You're being presented with a boot menu because the boot.ini file has more than one entry, the switches should all be on the same line.  You would only use additional lines if you have a multi-boot system.  Your boot.ini file should look like this:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Home Edition" /noexecute=optin /PAE /fastdetect

John

Programmers are either not taught about Occam's razor or they forgot about it the following day.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Thanks! 

I will change that...

But, the issue with the motherboard screen/F8/having to select SATA was happening before I made ANY changes, at all.

I am sure it is a simple fix to an address, or a command line, somewhere close...

I will make this change (to the boot.ini ), and see what happens.

I am currently also investigating the Gavotte option, but when I click on it to install, I get a folder of compressed files. 

The instructions say to extract the archive and run it... But there are 10 files... I am not getting it... I need a RUN button, LOL.

http://www.megaleecher.net/RAMDisk#axzz2woDMs0vr

I am an electrician/technician/machine mechanic, not a IT guy. I do know my limitations. But, I am working on it.

In the mean time, I will make the change to the boot file... Thanks again!

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

Okay. For the record, I removed the additional line in the boot.ini file. It now reads as it should, on one line, with /PAE contained.

However, upon restarting, I DID NOT press F8 when the 'motherboard screen' appeared, and the system went to "HP PC SYSTEM RECOVERY". At some point, months ago, this started happening, and I figyred out that by pressing F8, I could get to the screen where I can drop down 2 items and select SATA to boot the system.

I would like to correct this! (My kids cannot start the machine without me).

Prior to restarting, I restored the C drive PF Values to the settings exactly as they were before I started.

Initial: 2046

Maximum: 4092

The only difference now (other than the /PAE switch) is the 16GB flash drive USB L: drive, plugged in, formatted NTFS, allocated PF 15204-15199, and if I am correct, the OS isn't even recognizing this. So, I should probably set the values to zero, select "No Paging File", Set, and get it out of there.

Did this solve your problem?

Sorry this didn't help.

Great! Thanks for marking this as the answer.

How satisfied are you with this reply?

Thanks for your feedback, it helps us improve the site.

How satisfied are you with this response?

Thanks for your feedback.

* Please try a lower page number.

* Please enter only numbers.

* Please try a lower page number.

* Please enter only numbers.