Memory – Past, Present and Future, Addendum

Memories,… we test them every day. Remember to do this or remember to do that. The memory of students is tested frequently. Performance often seems to be gauged by memory capacity. Often one may yearn for the ability to remember more or wish they had more memory capacity. To bad we can’t just add additional memory like we can to our computer. Instead we walk around with our address books, daily planners, PDAs or laptops. Some of us, like this author, make extensive use of Post-it notes placed strategically throughout the house in places like the refrigerator, kitchen counter, bed end table, front door and of course completely around the perimeter of the computer monitor and any vacant spot on the keyboard. Anyway before the thought is lost, the following will give some guidance to testing, evaluating and sizing the ram capacity of a PC system.

SIZING & PERFORMANCE

Determining how much RAM memory one needs is really an arbitrary decision. It could be based on ones desire or on a methodical method of determination. The obvious answer is, the more the better. But what are the limits and how do you properly size the RAM for your individual use without wasting money on overkill?

First, let’s look at the boundaries; each of the following hardware items has a boundary limit that sets the maximum amount of RAM that can be addressed by a complete system. So no matter how much you want or thing you might need you will not be able to exceed the lowest boundary limit of any one of the following components.

  • Processor
  • Operating system
  • System board/Chipset
  • Memory module capacity

Processors

The last several generations of processors have maintained a 32 bit address bus which dictates the maximum amount of RAM that can be directly addressed by the processor and generally, this will set the top end boundary. The following table lists most of the Intel family of processors and the maximum amount of RAM addressable by each processor.

Operating System

All operating systems have a top end limit of the amount of RAM that can be addressed. The following table lists most of the Windows operating systems and the maximum RAM specified by Microsoft.

System Board/Chipset

Every system board is different; however, if there is any one common thread it is the chipset. The chipset is a ROM device that contains the programs that function similarly to a BIOS ROM. The difference between BIOS and the chipset is the chipset defines the character of the system board, ie, it determines the type of processor, type and quantity of RAM, types of peripheral ports like AGP, USB, ATA, etc. So the chip set determines how many and of what type of memory modules can be installed on the system board. Not all system boards are equal. Given the exact same chipset some system board manufactures may design a system board with less than the total permitted RAM in order to save cost and development time. System boards are typically the element that limits a systems total RAM capacity. The only exception is if the system board is designed for RAM chip capacities that have not yet been manufactured.

Memory Module

If a system board limits the number of memory modules that can be installed then the size of the memory modules will also determine the total quantity of RAM that can be installed in a system. For example, if a system only has 4 DIMM slots and the largest DIMM currently available is 256MB then the system would be limited to 1024MB. However, if later the memory manufactures release a larger capacity DIMM, like a 512 MB, then your system could be upgraded from 1024MB to 2048MB by replacing the 4 smaller DIMM modules with 4 larger DIMM modules provided if the system board can handle the additional capacity

Microsoft Guide

Previously, Microsoft gave specifications for the maximum amount of ram, Microsoft acknowledged that most uses would not install the maximum amount of RAM and subsequently developed a recommended RAM size guideline for each operating system. The guideline that was developed was only for the operating system and did not take into account what applications will be installed or how extensively the computer will be used. Although, this was a better guide than the maximum RAM capacity indicated earlier.

Later, Microsoft took the generic recommended RAM guideline table listed above and further enhanced it to address how the operating system would be used and what kind of demand that would place on RAM. The following table is an attempt to recommend RAM sizing based on the type of operating system and the type of usage that an individual may experience. As you can see the recommendations are becoming more grandular which can address a broader range of individual usages.

Manufacture Guide

RAM manufacturers may have their own recommendations for RAM size. Of course they are in the business of selling RAM so their recommendations may be somewhat on the high side. A more independent method, is presented by Crucial where they have conducted benchmark tests on several system boards from many manufacturers and they have made their test results via a ‘Memory Size Calculator’. http://www.crucial.com/index.asp?AID=5032657&PID=1186304 Here the user can input the type of system board they have along with a couple of other parameters and you are presented with a graph of the benchmark test results showing the effect of using different quantities of RAM. They list several makers of system boards but not all models of system boards are listed so one might have to pick one that is close.

Thrashing Test

If you don’t want to use the various guides then the easiest test to determine if you need more RAM is to monitor you hard drive when you are heavily working your computer. If the drive seems to be working constantly when you are working in the program and not loading data or other files then your operating system may be thrashing your hard drive by paging in and out programs or existing data files to make room in the RAM for the needed data. If this is happening the system performance should be greatly degraded.

Task Manager Test

A more definitive test is to run the Task Manager and monitor the memory management data elements. The following image illustrates the Performance - Task Manager Window.

This window will help you determine several things but primarily it will help you determine if you need to add more RAM or if you need to increase your page file size. First let’s define the terms that are found on the page.

  • COMMIT CHARGE: Memory allocated to programs and operating system.
  • TOTAL: This is the total amount of virtual memory (page file) in use.
  • LIMIT: This is the total available virtual memory for the system. This number never changes unless more hard drive space is added or removed from the page file system.
  • PEAK: This is the highest amount of virtual memory used since monitoring began.
  • PHYSICAL MEMORY: This is the computer RAM memory.
  • TOTAL: This is the total RAM memory installed in the system. This number never changes unless more RAM is added or taken from the system.
  • AVAILABLE: This is the amount of RAM available for CPU processes. This number will never go to 0 because the operating system will swap data to the hard disk as memory fills up.
  • SYSTEM CACHE: This is the amount of RAM memory used by the file cache.
  • KERNEL MEMORY: This is memory used by operating system kernel and device drivers.
  • TOTAL: This is the total memory used by the kernel.
  • PAGED: This is the quantity of kernel memory paged out to the hard drive.
  • NON-PAGED: This is the quantity of kernel memory still in RAM.

The need to increase RAM may be necessary if the value for PHYSICAL MEMORY – AVAILABLE frequently drops down to 4 MB during heavy usage. Note, the PHYSICAL MEMORY – AVAILABLE will never drop to 0 because the system will page-out RAM memory when the ‘PHYSICAL MEMORY – AVAILABLE drops too low. Although, Microsoft suggested the 4 MB cushion that quantity may be inadequate when considered on a percentage bases on very large RAM systems. To keep up with the increasing RAM sizes it might be better to consider 10% as a threshold instead of a fixed value. The 10% is purely arbitrary and a higher or lower percentage would be a function on an individual’s tolerance for lowered performance.

So if the data indicates you need additional RAM then how much RAM should be added? As an arbitrary guide increase RAM between 50% and 100% over the existing quantity; however, the user should consider the following items before making the decision:

  • Are you willing to spend the cash to buy the additional RAM?
  • Will future programs require additional RAM?
  • Will you become more computer proficient and start taxing your computer system harder?
  • Will the cost of adding additional RAM be worth the performance improvement?
  • How soon will the existing system be replaced with a newer model?

Your answers may influence the quantity of RAM you decide to install if any at all.

Just as a side note, the need to increase the Page File System may be necessary if the value of COMMIT CHARGE– PEAK approaches to within 10% the COMMIT CHARGE – LIMIT value when the computer is under heavy load usage. The Page File System is the memory safety net and having a Page File System too small may cause the data to become corrupt or even cause the computer to crash. The 10% target is purely arbitrary and nothing appears to be published in this regard; although, Microsoft indicates the Page File should be increased if the COMMIT CHARGE– PEAK approaches the COMMIT CHARGE – LIMIT. The 10% provides some what of a cushion before data fills up the page file and causes further problems. Of course a higher or lower percentage would be a function on an individual’s tolerance for risk of system crash or data loss. Microsoft recommends the page file be set at 1.5 times the amount of physical memory (RAM).

Performance Monitor

The most qualitative test is to run the Performance Monitor which is found in the Administrator Tools in the Window 2000 and Windows XP. The following image illustrates the Performance Monitor Window.

This is a very good example of where a program exceeded the RAM capacity of the computer and part of the RAM had to be paged out to Virtual Memory on the hard drive. The Blue line is the Available Bytes of RAM memory. The Red line is the Pages/Sec activity to the page file. In this example you can see the Available RAM drops almost to zero. Actually, it drops to 2.75 MB (2887680 bytes - minimum value in bytes converted to MB). Note when the Available Bytes is at the lowest point the Pages/Sec activity goes to the maximum at 100 Pages/sec and stays there for several seconds. As the Pages/Sec is active, notice that the Available Bytes start to increase as more of the RAM data is swapped out to the page file system. Once the Pages/Sec drops to zero you will notice that the Available Bytes trend levels-out so no more data from RAM is getting paged out to Virtual Memory. Refer to the Task Manager section mentioned earlier for comments as to the quantity of RAM that should be added.

All ‘Baby Steps to our Future’ articles are archived at www.hal-pc.org/~seeker/future.