Generally, knowing how many users will be placing a demand on the computer system and the applications they will use, will determine the main memory requirements. However, most frequently, it comes down to the more memory, the better. Next to processor power, memory has the greatest impact on system performance, so choosing a memory controller that can accommodate large quantities of memory with the highest memory bandwidth will certainly improve system performance. You should take into account the size of all the software resources running on the processor plus 10% of memory for unused memory free-space.
Also keep in mind that a 32bit OS can only access up to 4GB maximum per system (2 raised to 32th power), but the new 64 bit operating system can access 18 ZetaBytes (2 raised to 64th power).
One way to calculate memory size is to determine how much memory must be allocated to the OS kernel, OS drivers, the software applications frequently in the active state, the size and quantity of the data files resident in memory and the memory needed to support maximum network demand.
As an example, if the
OS kernel and drivers ..............................................................
The main application (plus frequently used applications) ....
Data files (only a portion determined by OS & application)..
Maximum network demand(approximated by this example)
External port connections for external networking to the web:
One 10G Enet port =10Gbps =1.25GB/sec
Internal port connections for internal networking
Each port = 100baseT Enet =100mbps =12.5MB/sec
100 concurrent users x 12.5MB/sec ports = 1.25GB/sec
100 concurrent users x 100K average file size = 10MB
Internal + external peak networking demand=2500MB
(with an average use of 10MB)
In this example, the OS software, application software, data files and networking demands =3000MB.
Then add 10% of 3000MB for free-space memory (300MB) and the
minimum system memory would be 3300MB. Since main memory for the
processors is usually added to the system in equal "even" increments of
256MB, 512MB, 1GB, 2GB and 4GB densities, the main memory requirement would more likely be 4GB.
Note that there are some computer applications known as “memory hogs”
(such as database servers, email servers and web servers), so
these types of systems should have as much memory as possible.
Another way to calculate memory size is to run a system benchmarking test that relates
system usage by camparing Memory Used (GB) vs. CPU Usage (%) vs. Amount of System Memory
(ie: Use the Microsoft “Control Panel “ to view the Administrative Tools (Performance)
and add the memory object by clicking on the + sign in the toolbar as shown below:
The chart below, is an example of how the data might look for a dual processor system
that compares the resource limitation of a “memory bound” configuration (4GB system)
to a “CPU bound” configuration (8GB system). Notice how the 6GB system configuration
maximizes CPU to memory utilization for the best price-performance ratio
when % CPU usage = % Memory usage.
Today, some system designers, use a current rule of thumb of 1GB/processor-core/Ghz.
Once memory size has been determined, the selection of the memory controller to support the desired amount of memory is equally important. The memory controller will limit the memory densities that are attainable in two ways 1) a limited number of chip select lines available to the memory and 2) the maximum DRAM size supported by the memory controller.
RAMpedia is a DRAM memory encyclopedia and reference tool
to help computer hardware board designers with DRAM memory subsystems.
This information is provided as a courtesy by Virtium Technology. www.virtium.com