Dell Warning: The current memory configuration is not optimal. 13

In a cabinet in a top secret location somewhere in the Pacific Northwest, I’ve got two Dell PowerEdge 2950s, each with four 2GB DIMMs installed. I purchased four additional 4GB DIMMs to upgrade the memory in both to a total of 16GB, and installed them in the servers last night, so that each server’s DIMM slots were set up as follows:

1:2GB 2:2GB 3:2GB 4:2GB 5:4GB 6:4GB 7:[empty] 8:[empty]

I booted the upgraded systems, and was greeted with the following warning:

Warning: The current memory configuration is not optimal. Dell recommends a population of 2, 4, or 8 DIMMs. DIMMs should be populated sequentially starting in slot 1.

The online manual explains the warning as:

System has detected a legal but non-optimal population of DIMMs (for example, 1 DIMM, 6 DIMMs, 4 DIMMs in slots 1, 2, 5, and 6, etc.). The system will run with all memory accessible but will experience sub-optimal performance.

The System Memory section of the manual continues:

General Memory Module Installation Guidelines: To ensure optimal performance of your system, observe the following guidelines when configuring your system memory… FBDs must be installed in pairs of matched memory size, speed, and technology, and the total number of FBDs in the configuration must total two, four, or eight.

The machines still ran fine (and way faster than before with the new RAM) and both saw all 16GB of total RAM (because I installed a PAE-enabled kernel last night, as well).

Of course, the solution to make this warning go away was to simply put 8x2GB DIMMs in one server and 4x4GB DIMMs in the other (my smokin’ hot former school teacher wife actually figured that math problem out in about 12 seconds). However, the situation got me thinking (and that’s always dangerous). What exactly does “sub-optimal performance” mean, and what precisely (in as geeky and technical terms as possible) was causing it?

I didn’t feel like searching for the answer at 1:00AM this morning when I got home from the colo facility. But I tried today, and found nothing with Google – except links to the Dell manual that makes the ominous warnings of sub-optimal performance. I called Dell Premium Tech Support, and they couldn’t explain it either. They gave me the standard “it’s just not supported” answer, which would have probably been fine for a sane customer, but that’s clearly not a word that describes me, so I held firm until they had no choice but to open a trouble ticket to research it. 🙂

My best guess is that maybe all installed DIMMs will run at the clock speed of the slowest DIMM in the bunch, but again – that’s a total guess.

I’m still waiting to hear back from Dell, and I also posed the question to a mailing list of fellow Dell PowerEdge Linux admins, because even though it’s not a Linux question, I figured who better than fellow Linux geeks to take a stab an answering a question that neither Google nor Dell Support could.

If I hear back from either, I’ll update this post with the answer! Of course, it’s an entirely academic question at this point, since moving the DIMMs around made the warning go away, but it’s still got me scratching my head, and I won’t be able to obsess about other geeky questions until this one is answered.

If you’ve got the answer, please leave it in the comments!

UPDATE: Within 5 minutes of publishing this entry, I received the following email from Dan Coulter, an Enterprise Expert Center Server Support Analyst at Dell:

Hello, Steve –

Here is what I’ve been able to find…

The memory module sockets are divided into two equal branches (0 and 1). Each branch consists of two channels:

  • Channel 0 and channel 1 are in branch 0.
  • Channel 2 and channel 3 are in branch 1.

Each channel consists of three memory module sockets:

  • Channel 0 contains DIMM_1 and DIMM_5.
  • Channel 1 contains DIMM_2 and DIMM_6.
  • Channel 2 contains DIMM_3 and DIMM_7.
  • Channel 3 contains DIMM_4 and DIMM _8.

With your current configuration, the north and southbound links in channel 0 and 1 are not optimized because you have mixed DIMM capacity per channel.  In addition, you are not getting quad channel access to the memory because branches 0 and 1 are not matched, limiting your memory access to 64-bit from a possible 128-bit.

You are probably seeing an increase in performance because your OS/processes were memory bound, and increasing available memory removed the bottleneck.  You may or may not see an even greater increase if the memory configuration was optimal (adhered to the memory population guidelines).

Regardless, the supported memory configuration would be what is outlined in the manual.

Please let me know if this answers your question and I may close the case at this time or if you would like additional assistance.



So, there you have it. Dan’s the man!

And Dan, if you’re reading this: THANK YOU – and you can close the ticket. 🙂

  • Great post Steve, I have had the same warning, and had just assumed it to be overzealous warning logic in the BIOS. Thanks for publicising Dan’s answer, he is indeed The Man.

  • Blissex

    it is a bit surprising to see this surprise about dual channel memory access and its requirements — I think that 2 channel memory setups have been around for 10 years (and now Intel have started using 3 channel memory systems too).
    Fortunately in many applications dual channel does not give a huge advantage, but it is nice to have. Fairly good details here:

  • Ivan Costa

    Great post, but I am still confused. I had the same problem with my PowerEdge T105 with “1:512MB 2:412MB” (the factury config) and “3:2GB 4:2GB” (my additions). How can I do for solution this? How do you turned off the warning in every boot?
    Thanks a lot.

  • Ivan:

    If I’m reading your post correctly, you currently have the DIMMs arranged like this:

    DIMM_1 (Channel 0): 512MB
    DIMM_2 (Channel 1): 512MB
    DIMM_3 (Channel 2): 2GB
    DIMM_4 (Channel 3): 2GB

    Notice how you’ve got each stick on its own channel – which means you’re sub-optimal. Arrange it like this:

    DIMM_1 (Channel 0): 2GB
    DIMM_2 (Channel 1): 512MB
    DIMM_5 (Channel 0): 2GB
    DIMM_6 (Channel 1): 512MB

    That way, you’ve got matching DIMMs using the same channel. You won’t get quad channel access to the memory (since all four sticks are not matched), but you should stop the warning since each channel has the same capacity. At least that’s how I’m understanding Dan’s email to me.

    Let me know if that change gets rid of the warning. Good luck!

    • datapharmer

      Well I don’t think you are understanding Dan’s email. This configuration doesn’t work at all – your only option (that I have found is to have 4 matching DIMMs. Using 1,2, and 3,4 or 1,3 and 2,4 as recommended in the message yields the message or system halt, using 1,5 and 2,6 as you suggest also yields a system halt message. Moral of the story: go 1,2,3,4 and deal with the message or use DIMMs with matching sizes.

      • Hey, DataPharmer. I haven’t tested non-matching sticks in those slots, so thanks for letting me know. I agree with you – the best solution is to use the same size DIMMs in every slot.

  • Pingback: “Warning: The current memory configuration is not optimal.” « TheSaffaGeek()

  • Hi Steve –
    Thanks for the post. It took me lessthan a minute to fix my Dell 2970. No more error messages! I printed this off for my file of “don’t-forget-this” stuff.

  • yogeshtyagi

    men config error massage appeir on frant panel

  • Austin

    Poweredge T605

    Socket1 4 banks A1-A4
    Socket2 4 banks B1-B4

    The memory module sockets are divided into two equal branches (0 and 1). Each branch consists of two channels:

    Channel 0 and channel 1 are in branch 0.
    Channel 2 and channel 3 are in branch 1.

    Each channel consists of three memory module sockets:

    Channel 0 contains DIMM_1(A1)(4GB) and DIMM_5(B1)(4GB)
    Channel 1 contains DIMM_2(A2)(2GB) and DIMM_6(B2)(2GB)
    Channel 2 contains DIMM_3(A3)(4GB) and DIMM_7(B3)(4GB)
    Channel 3 contains DIMM_4(A4)(2GB) and DIMM_8(B4)(2GB)

    Am I not translating Dimm_# to A# or B# properly.

    From reading above I though this would be optimal and not give the error but it isn’t working.


    • Austin

      Found this in the manual:

      Table 3-1. Memory Configurations

      24 GB configuration for dual socket

      DIMM A1-4GB DIMM B1-4GB
      DIMM A2-4GB DIMM B2-4GB
      DIMM A3-2GB DIMM B3-2GB
      DIMM A4-2GB DIMM B4-2GB

      Post shows 24 GB and at proper speed, but the message persists.

      Any advice?

      • sandeep kumar bhati

        DIMM A1 8 GB AND B1 8 GB RAM AND
        DIMM A2 4 GB AND B2 4 GB RAM

  • Rod

    I realize this post is old but I thought I’d chip in this. In a config where there are empty slots, why don’t you get the warning? If the first four have 2G and the last four are empty, by Dan’s own description, you aren’t optimal. So I don’t see how putting more memory in could possibly be any worse off. We have an R905 with 32 slots. I have 24 slots with 2G and 8 slots (last two on each bank) with 4G. Yes I get the message but when I was running without the 4G modules, I really wasn’t optimal either.