Using the Hard Disk to simulate RAM, which is a long standing feature of Main Frame operating systems certainly has its advantages but ultimately will degrade performance.
Having an application use virtual RAM means that there must be an increase in Disk I/O. The advantage is that the application will run and not run out of RAM but there is a balance.
Firstly an application must perform a disk I/O to receive the program files in limited pieces and the more physical RAM the greater the amount of information that can be read from the Disk. (Theoretically)
Now IF some of that RAM is a page file on the hard disk another Disk I/O is required to access the page file RAM.
If the disk is already busy reading application files and now we increase its load by pagefile also creating a disk I/O there must be a point were the disk and O/S needs to decide which is more important.
The decisions are
1. The disk I/O to read the application program files
2. The disk I/O to write back and simulate RAM to run the same application just read from Disk.
Effectively, as you don't get anything for nothing, the dilemma is "Are the Disk I/O's more busy reading the application program files than it is writing a the disk I/O to simulate the RAM required to run the very same program.
The problem that we face is always the amount of RAM that an application can directly access to process instructions - this is a constraint of the O/S.
Just because you have 4 GIG of RAM does not mean that the O/S can directly address all 4 GIG. Quite the contrary. This is where our memory managers come into play. Lets say the O/S can only directly address the first 640K of RAM. What the memory manager does is load instructions into the registers of the 640K RAM - process those instructions and the memory manager then throws the result up into the rest of the RAM. When the result is needed again, to further process, it is dragged out of the upper RAM back down to conventional RAM and further processing can occur.
A memory manager that allows the whole amount of RAM to be used is just like a juggler throwing thing up and fetching them back when needed.
With the added facet of the pagefile once the physical RAM becomes full a Disk I/O is required.
At some stage the O/S needs to make a decision. Is it better to devote more Disk I/O time to reading instructions OR does it utilise time to write an I/O to the page file. This is all managed by the O/S.
Personally IF the PC has the max amount of physical RAM installed AND still requires a Disk I/O to simulate more RAM then we really need to think about the fundamental operation of the O/S. How much RAM can it directly address and how much RAM does it need to juggle in and then does it requires a page file as well - Personally then its time to re-write the O/S in its memory management and its directly addressable RAM to process and the amount of physical RAM used by the memory manager.
Page file addressing should be a last resort by the O/S. Adding to an overworked disk I/O will slow things down ultimately, however the application will never fall over and you will never see the old "out of memory" error response which is the only advantage of such and arrangement.
If you have multiple hard disks the best thing you can do is direct the temp variable (another story) and place the page file on a different disk than the disk containing the O/S. This will help the overworked disk I/O of the single disk but don't get excited yet ? we then run into the bottle neck that is the I/O Bus speed which has nothing to do with the speed of the processor nor the speed of the RAM. Thank GOD for a 64 bit BUS.
Next time you purchase a PC ? just compare the BUS speed as this will ultimately constrain the total amount of I/O weather they come from the Disk array, the processor and the RAM ? this is of particular importance, together with the speed of the Disk I/O when we start to employ a page file to speed up? the PC.
Discussion on:
View:
Show:
And you might not get a Christmas Card from Redmond this year.
Good point. You've been paying attention. (a good write-up too I might add.) I'm sure our George Ou will have an arguement to your piece, but you are correct. The point is MS does not expect people to think. It just sounds good, so it must be right? After all MS says so...
yea, well, as you just proved, there are a few of us still thinking out here.
edited, just because...
edited, just because...
After posting the original article I have had more than my fare share of hack attempts whilst trying to post any other article.
The article I posted was a pure technical discussion with no reference to ANY current O/S out there.
If you disagree or don't like my article, don't try and hack me, come out and publish your thoughts.
P.S I am more secure than most banks so just stop now please.
P.S.S Thanks to the reply from dawgit who had encouraging comments and I don't care for Christmas cards
The article I posted was a pure technical discussion with no reference to ANY current O/S out there.
If you disagree or don't like my article, don't try and hack me, come out and publish your thoughts.
P.S I am more secure than most banks so just stop now please.
P.S.S Thanks to the reply from dawgit who had encouraging comments and I don't care for Christmas cards
however stating you are more secure than most banks will actually temp more hackers to try!
I guess you found that out in Nov 2006.
I guess you found that out in Nov 2006.
Hey,
I actually find your article very good.
It's technical and yet any person out there could understand your point. I've known these things for a long time, this is why I don't get excited when I hear MS trying to create new features that will just create more I/O to my computer and certainly slowing it down.
Being able to add more virtual RAM to a computer is ok, I guess for those people who doesn't have a lot physycal RAM, but even then; the person should know the ups and downs of doing such of thing.
Great Job!
I actually find your article very good.
It's technical and yet any person out there could understand your point. I've known these things for a long time, this is why I don't get excited when I hear MS trying to create new features that will just create more I/O to my computer and certainly slowing it down.
Being able to add more virtual RAM to a computer is ok, I guess for those people who doesn't have a lot physycal RAM, but even then; the person should know the ups and downs of doing such of thing.
Great Job!
I'm with you ... It is good to see there are still thinkers out there ... I skipped Vista and got to this article after installing Windows 7 and was curious about ReadyBoost ...
Anyway I've decided to installed the 64bit version so that I can take advantage of the larger ram size available and would like to look further into the availability of using a RAM Disk. I originally came across it in Windows 95 and would initialize a RAM Disk and then assign my TMP/TEMP location there, this greatly improved the graphic rendering I was doing at the time (from 10min to 20sec) ...
I was curious as to why MS didn't open up the memory limitations they placed on the Win32 OS's (4GB)and go down the road of using a part of Physical Memory as a RAM Disk ... the reading from HDD to RAM then back to the HDD pagefile seems a bit dumb to me ...
Anyway I've decided to installed the 64bit version so that I can take advantage of the larger ram size available and would like to look further into the availability of using a RAM Disk. I originally came across it in Windows 95 and would initialize a RAM Disk and then assign my TMP/TEMP location there, this greatly improved the graphic rendering I was doing at the time (from 10min to 20sec) ...
I was curious as to why MS didn't open up the memory limitations they placed on the Win32 OS's (4GB)and go down the road of using a part of Physical Memory as a RAM Disk ... the reading from HDD to RAM then back to the HDD pagefile seems a bit dumb to me ...
Throughput to a HDD typically ranges from 40 MB/s to 110 MB/s whereas throughput of USB devices acceptable for ReadyBoost is only 2.5MB/s. Why is it advantageous to page into USB Flash memory if the HDD is 10 to 50 times faster?
The overall throughput of the cache is not as important as seek and response time. Caching and Paging are not about moving around large files but more about quickly moving around small pieces of information. With Flash Memory, I can find and start delivering a small chunk and then transfer it before the HD has found it, moved the heads, read the data, etc. By the time throughput is beginning to matter, the operation is complete.
Fom this article I deduce that I will see a benefit from ReadyBoost only if I have the SuperFetch service running. I turned off SuperFetch weeks ago on both of my computers because SuperFetch was causing constant and annoying thrashing for the first 10 or so minutes after booting up. After I disabled Superfetch the thrashing went away. Do I have to re- enable She SuperFetch servoce in order get a benefit from ReadyBoost? Any answers will be most appreciated
In the old old days (say DOS 3.3) I used to use a RAM card and create a RAM Disk which you would load on the common files that the operating system used and then reset the path to first search the RAM Disk. This is somewhat similar to cache'ing today except that specific files are loaded to the RAM disk. With cheap memory it would seem that this would be better than using a USB drive but doing the same thing except in computer memory?
Right click on My Computer, left click on properties, left click on Advanced, left click, Performance, [settings] adjut for best performance or custom, if desired click apply.
Then, left click on Advanced,left click Virtual Memory [change].
Next left click C:, check no paging file, click [set].
Next left click your removable flash drive,
click custom, put in Initial size, makesize small than total size of disk, space is need for a file approx 5-10mb.
Next put in max size using same method as previous step.
Click [set], click apply and follow prompts.
You may want to change the name of this drive to RAM DRIVE since it is now a required part of your windows operating system and should not be removed from the computer!
Then, left click on Advanced,left click Virtual Memory [change].
Next left click C:, check no paging file, click [set].
Next left click your removable flash drive,
click custom, put in Initial size, makesize small than total size of disk, space is need for a file approx 5-10mb.
Next put in max size using same method as previous step.
Click [set], click apply and follow prompts.
You may want to change the name of this drive to RAM DRIVE since it is now a required part of your windows operating system and should not be removed from the computer!
- Keyboard Shortcuts:
- Prev
- Next
- Toggle









































