# server memory mix&match



## PMc (Oct 15, 2022)

There are lots of articles on the web about mixing memory modules. But there are all concerning desktops. I did not find a single article that would talk about mixing memory on a numa platform.
So, either it's totally simple (but I doubt that, given the mass of articles about the do's and don'ts and caveats for simple desktops), or nobody does it...

But then, how do you expand your memory?


----------



## tingo (Oct 16, 2022)

In general servers (I have used HP, Dell and some other brands) are less forgiving than desktops when it comes to memory. So if it says you have to upgrade in pairs, or four at a time, it will most likely be so.
But you can always try, if you have the time and patience for it. In my experience, if the server can work with some of the memory, it will boot and show you an error code. If it can't (or won't) you will likely get audio boot codes (or visual signals via LED's or numerical display, if the server have that) indicating the problem.


----------



## tingo (Oct 16, 2022)

Oh, and when all slots are filled, you need to replace memory modules with bigger (more capacity per module) modules if the server supports that.


----------



## PMc (Oct 16, 2022)

tingo said:


> In general servers (I have used HP, Dell and some other brands) are less forgiving than desktops when it comes to memory. So if it says you have to upgrade in pairs, or four at a time, it will most likely be so.


Yes, thank You, that's about what I already thought.
The manuals don't say much. They say "always install memory with the same CAS latency", and they explain how to install in powers of two (1,2,4 or 8 sockets). There is no mention that anything could be mixed, neither to the contrary.

I have a Haswell-EP board. There are two CPU sockets and 8 memory sockets. One CPU is present, and four memory modules as 4 x 8GB.
And these 32 GB, that is not really much anymore. Adding the other CPU. with the same amount of memory, wouldn't lift the memory constraint - there are just more threads competing for the same GB/thread.
But throwing these 32 GB away would be a waste. And it gets more difficult because I don't see reason to buy _new_ memory. Such modules are easily available as used, for less then half the price. But then they cannot be sent back when they do not work.

So I was searching all the net for information, and am still wondering that nothing is to be found, because the situation shouldn't be so uncommon.

In the end I got an offer where I couldn't resist, for 4 x 16GB - but with different speed and different organsation. And I thought, when I am lucky, I can run one socket with 64GB and (later) the other with 32GB, and in the worst case I have to somehow sell the old 32GB.

But now the machine appears to run just stable and without complaints with mixed 48GB on the first socket. So either I was lucky, or this is less problematic than I thought.... and still I don't know what the rules are.



tingo said:


> But you can always try, if you have the time and patience for it. In my experience, if the server can work with some of the memory, it will boot and show you an error code. If it can't (or won't) you will likely get audio boot codes (or visual signals via LED's or numerical display, if the server have that) indicating the problem.


Yes, that part is rather simple, as one will notice it immediately. More interesting is, when it works, how does it work? How does it actually map and organise the memory? Synchronous or asynchronous?


----------

