Davej said:
So how can you estimate the performance improvement of a ram upgrade
without actually buying and installing the ram? I only have 512MB in
this laptop. It seems silly to invest any more in it -- except that it
would be fine for my purposes except when it gets bogged down -- which
I'm guessing is virtual memory swaps. It would be nice if a tool like
Process Explorer could add up the time lost due to insufficient ram
and present this as a factual statistic.
Bring up the Task Manager (use control-alt-delete or right
click the task bar and select Task Manager from the menu).
There is a value under the Performance tab, called
Commit Charge (K)
Peak 441768
The Peak value is recorded from the time you did your last
reboot. If the value exceeds the physical RAM present in the
machine, then the paging file would be called on to handle
the situation. And that would slow down the machine, either a
slight amount, or a great deal, depending on the situation.
Now, my example value above is rather small, and that is
because I rebooted within the last hour or so. If I believed
the number above, I could be satisfied with a 512MB stick
of memory. But on other days, I've checked that parameter,
and it was at 1.5GB. And thus the 2GB of memory currently
installed in the machine, is put to good use. You have to
run the computer for long enough, doing your normal work
things, to get an accurate picture of the "peak".
When memory is "free" or "left over", it isn't wasted. It
is used as a file cache. For example, I have a checksum
program. I can ask it to sum all the bytes together in
a 1GB sized file. On the first attempt, it might take 30 seconds
to perform the summation. And that is a disk limited summation.
If I repeat the exact same command, with the same file name
as the data source, the system file cache will be consulted
instead. I might see very little disk light flashing, and the
summation could be completed in only a fraction of the time.
The system file cache is dynamic, and space is freed up instantly,
as soon as the user has some other usage for it. For example,
if I opened Photoshop right now, and it had a large RAM allocation
set up, then the system file cache would be flushed, and very
little RAM space would remain in use as a file cache. If I then
chose to re-run the checksum example, it would take 30 seconds
again (because the file would no longer be stored in RAM).
So adding RAM can do two things. It can keep you from using the
paging file. It can be used as part of the system file cache,
when no other usage is proposed for it.
*******
Depending on the computer, another possible performance improvement
is to replace the hard drive with an SSD drive. A solid state disk
can use NAND flash memory. The fastest one available today, can
provide about 355MB/sec transfer speed on reads. And more importantly,
compared to your existing laptop hard drive, the seek time for a
SATA interface SSD is about 0.1 milliseconds or less. A decent SSD
will likely cost more than your RAM upgrade idea, but it can make
a pudgy computer feel a bit more athletic. Recent SSDs can support
somewhere around 35000 IOPs, which is quite impressive when compared
to the hard drive.
In your situation, I'd probably max the RAM (since RAM is typically
around $25 to $30 per gigabyte), and also consider an SSD as a
replacement for the hard drive.
SSDs are available with 44 pin IDE interfaces, and that would be
suitable for an older laptop. But the transfer rate of these,
isn't that impressive. And you don't have as many products to
choose from.
(A customer reports this one is 80MB/sec read, 50MB/sec write. Seek time
will still be "SSD like" and better than the laptop hard drive.)
http://www.newegg.com/Product/Product.aspx?Item=N82E16820208431
The ones with the SATA interfaces can be much faster. As long
as the laptop has a SATA interface for the hard drive, these
can fly. You don't run the WinXP defragmenter on a thing like
this, as it is no longer a priority and is bad for the drive.
The Sandforce controller inside this one, has built-in garbage
collection, for restoring drive performance, so it doesn't
absolutely need the services of the TRIM command (which isn't
provided on WinXP).
http://www.newegg.com/Product/Product.aspx?Item=N82E16820231377
This is the inside of an SSD drive. No rotating platters. The SATA
data connector is 7 pins on the left. The 15 pin section is used
for power. The chip in the center is the controller. The rest
are NAND flash.
http://benchmarkreviews.com/images/...-1200/SandForce_SF-1200_SSD_Processor_Top.jpg
You can see some actual benchmark results here.
http://benchmarkreviews.com/index.p...sk=view&id=551&Itemid=60&limit=1&limitstart=5
*******
A RAM upgrade might not give you much of anything, depending on
your "peak" value. If you were constantly forcing the usage
of the the paging file, then the laptop could be quite sluggish.
But you're more likely to notice an improvement with an SSD.
If you wanted a way to estimate the effects of paging, consider
the OS is dumping the contents of memory to disk. It might be
doing that at say 20-30MB/sec. If a program called for 200MB
of memory you didn't have, that might take 6 to 10 seconds
for the paging to finish. You can do some timings yourself, by
opening several memory hungry programs, and see how long it
takes to free up space for the programs to load and run. Watch
the "peak" value, to determine how stressful your test is
(i.e. should slow down, once it gets larger than the physical
RAM quantity). For example, say your 512MB of memory was
full, and you opened the Firefox web browser. Now, the OS
uses paging to make room in the memory, for the new program to
load. But at the same time, the program itself makes calls to the
file system, due to all the databases it uses for visited sites,
bookmarks and the like. With all of that going on, it could take
30 seconds to a minute, before the program is ready to do anything.
Note that, like any drive, you should do backups when using an SSD.
They can fail just like a drive with platters, but for different
reasons. SSDs are quite shock resistant, at least, as long
as you don't bust off the connector on it.
Paul