All right, it Science Time, Science Sunday
I’ve conducted several reboots and hardware re-configurations, while recording the output of dmidecode
, each time. My OS was Ubuntu 16.04.x LTS x64.
My platform is a Gigabyte GA-X150M-PRO ECC
I have a 2x 8GB kit of Kingston KVR21E15D8K2/16I DDR4 ECC memory, which i’ve run in the following configurations (inner means near CPU, outer means near edge):
* "DDI": dual DIMM, dual channel, inner sockets (DDR4_4 & DDR4_3)
* "DDO": dual DIMM, dual channel, outer sockets (DDR4_2 & DDR4_1)
* "DSO": dual DIMM, single channel, outer sockets (DDR4_3 & DDR4_1)
* "SSO": single DIMM, single channel, outer socket (DDR4_1)
Here are the (imho)relevant sections of dmidecode
…* sigh * …ok, nope, that’s not gonna happen! I’ll certainly not manually prefix every single line with 4 spaces, in order to produce nice “monospace code” block formatting in this here forum! No, no, nope, no-no-no-no-no, NOPE, not happening! (I’ll file a bug report / feature request, demanding a simple <pre>
tag later.)
A’ight, here’s Plan B, a.k.a. the
interpretation of my scientific results, but without any supporting data. (you’re wellcome)
-
Type Detail: Synchronous
is present in all samples: doesn’t seem to be an indicator of S/D channel mode. I guess the Synchronous
produced by lshw -short -c memory
is equally irrelevant. It’s probably ‘synchronous’ to the memory controller’s clock. (might be an indicator for CPU-internal mem ctlr, not sure though)
-
Partition Width:
is present in both S&D channel configs. However, it’s value was different. In every “Dxx” it was 2, but in the “Sxx” (Single DIMM) config it was 1. This might be an indicator for the total amount of installed DIMMs. Per definition, a value >= 2 is required for dual / multi channel mode.
- GOTCHA! The keyword
Interleave
wasn’t present in any of the “xSx” (single channel) samples, but was present in all of the “xDx” samples.
Conclusion
Your RAM does NOT run in SINGLE channel mode when the keyword Interleave
is present in dmidecode
output. Please feel free to comment and correct my interpretation.
Educated guessing
The field Interleave Position
must be, …well, nope, i’m not touching that one, yet.
But the field Interleaved Data Depth
, almost certainly describes the amount of currently used memory channels.
Request
If you have access to a multi channel RAM box, preferably triple, quad channel, or even more awesome, please post your dmidecode | grep Interleave
, in order to verify my Interleaved Data Depth
hypothesis.
__happy_happy(“y’all”’);
edit: my CPU was a Xeon E3-1230 V5