Estimating performance improvement after ram upsize?

  • Thread starter Thread starter Davej
  • Start date Start date
D

Davej

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.
 
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
 
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.

MemStatus is free. It is an ultra-simple utility that shows how
much system RAM and video card RAM you are using. So run it and
see if you need more memory.
 
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.

512Meg for XP and system memory being cheap (presuming it'll use off
the shelf generic memory). I'd add at least another 512 stick for
parity (spec the lap for what it takes in increments), or 2G better
yet. I'd do that as easily as buying a nice bag for carrying a lap.
First thing

It shouldn't bog if you know what it's doing and your OS is organized
for efficiency -- short of a severely underpowered CPU. Swap file
could go on a partition of its own. Clear it when the system shuts
down. Programs installs on another. That's what I have, except the
swap is on C: -- everything is always regularly defragged.

Matter of tailoring programs, and what you expect from the lap, at
that point. Everything has limits. I have to restart the browser now
and then, because it has memory leaks and runs away with itself - a
version compatible with old extensions I really like. Video encoding
otoh will definitely bog mine down.

Haven't run it in awhile (no real need), but Prime 95 helps in
determining where those limits occur at the physical characteristics
of a machine (was...guess it's still free).

http://files.extremeoverclocking.com/file.php?f=103
 
So how can you estimate the performance improvement of a ram upgrade
without actually buying and installing the ram? I only have 512MB
[...]


Thanks to all who have replied. I now have 2GB on the way.

Is anyone here super familiar with Process Explorer? I noticed it has
column options for "peak private bytes," "peak working set" and
"virtual size."
 
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 [...]

Again... By simply determining how much RAM your system is
currently using.
Is anyone here super familiar with Process Explorer? I noticed
it has column options for "peak private bytes," "peak working
set" and "virtual size."

That utility is for programmers and exceptionally skilled users. I
am sure you can do whatever it is you want to do with something
more user-friendly.

Try using Windows Performance/System Monitor. Or just get
MemStatus for a very easy to use RAM usage indicator.

Good luck and have fun.
 
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
[...]


Thanks to all who have replied. I now have 2GB on the way.

Is anyone here super familiar with Process Explorer? I noticed it has
column options for "peak private bytes," "peak working set" and
"virtual size."

Fire up that search engine :-) Like one of the posts here mentions,
sometimes you add some of those things up, and they don't "balance" in
the bank balance sense. And that kinda takes the fun out of it.
I expect some of those parameters, are of more interest to program
developers, for the purposes of comparing design intent to
implementation, or detecting problems with what they wrote.

http://forum.sysinternals.com/topic15333.html

Paul
 

"i have Private Bytes set to show in the window of process explorer
what are they. I'm assuming its program memory usage if this is the
case should i set all of them to show or just peak Private Bytes and
the regular Private Bytes?"

I sometimes wonder whether memory that cannot be used is caused by
memory leaks from poorly written programs. In the days before managed
memory with C# (i.e., automatic garbage collection) this was a real
problem, and probably still is even with garbage collection, if you
have a routine that is poorly written and constantly orphans memory
faster than the garbage collector can remove orphaned memory.

RL
 
Back
Top