Balancing RAM when using multiple CPUs

We have HP DL360 G7 server with one cpu and 16G 12G ram. We plan to add another cpu. So, we need also ram for second cpu. Is there any negative performance impact if we add different size of ram to second cpu? for example 20G ?

Current ram configuration: Current ram configuration


The HP ProLiant DL360 G7 server (and other Nehalem-and-newer CPU systems) have a set of memory DIMM population guidelines. Can you share what's currently populated and what your final RAM amount/goal is?

  • This is documented primarily in the Quickspecs for the system, but I'll try to give some specific guidelines.
  • HP also has an interactive Memory Configuration Tool to help step you through the process and your options.
  • Here's a technical deep-dive on the Nehalem/Westmere CPU architecture that explains the memory side of things.

At present, you have 9 available DIMM slots out of the 18 slots on the server. You can only use half of them because the server only has one CPU installed. Installing the additional CPU opens the other 9 slots up for use.

  • Performance is maximized if you balance across each CPU's DIMM banks. E.g. results are best if an equal amount of RAM is assigned to both CPUs.

The other critical rules are:

  • Do not mix Unbuffered memory (UDIMMs) with Registered memory (RDIMMs)
  • Do not install DIMMs if the corresponding processor is not installed
  • To maximize performance, balance the total memory capacity between all installed processors
  • Populate DIMMs from heaviest load (quad-rank) to lightest load (single-rank) within a channel

There are also memory channel population tips that affect bus speed. E.g. using 3 to 6 DIMMs per CPU is going to be faster than running with all 18 slots populated. RAM can be seen by both CPUs, but you have to popular on both sides if you have two CPUs.

enter image description here

Reply back with your setup, and we can help optimize...


The system you are refering to does not differentiate between RAM modules for one or the other processor. All RAM is shared between the two processors. In principle there is no impact for adding memory of different size. The only thing you need to keep in mind is that you respect the channels (dual channel= 2 DIMMS, Triple channel is 3 dimms). Also make sure your RAS-CAS latencies and timings are always the same.

EDIT

As stated by David Schwartz:

If you have different amounts of RAM on each CPU, then one direction of the QPI will be more saturated than the other, which will have a negative impact on performance.