Unable to check if memory is running in dual-channel mode
Linux - HardwareThis forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux?
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Unable to check if memory is running in dual-channel mode
Some background first: When I built my latest system two years ago and got a DDR4 motherboard I bought 16 GB of RAM (2 x 8 GB). Today I had the money to finally order another set, identical to the first one so that all 4 memory modules are the exact same model in every way. I just installed them and everything works fine, I have 32 GB of memory and the system even feels a little faster.
Still I wanted to make sure the system is running in dual-channel mode given I never used all 4 memory slots before. The BIOS doesn’t seem to inform me. I looked up the Linux command commonly used to verify, but for some odd reason it doesn’t appear to give me a clear verdict.
Code:
[linux-qz0r mircea]# dmidecode -t 17
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.1.1 present.
Handle 0x0034, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002C
Error Information Handle: 0x0033
Total Width: 64 bits
Data Width: 64 bits
Size: 8 GB
Form Factor: DIMM
Set: None
Locator: DIMM_A1
Bank Locator: BANK 0
Type: DDR4
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 3200 MT/s
Manufacturer: Kingston
Serial Number: 89FA951F
Asset Tag: Not Specified
Part Number: KHX3200C16D4/8GX
Rank: 1
Configured Memory Speed: 3200 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
Handle 0x0037, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002C
Error Information Handle: 0x0036
Total Width: 64 bits
Data Width: 64 bits
Size: 8 GB
Form Factor: DIMM
Set: None
Locator: DIMM_A2
Bank Locator: BANK 1
Type: DDR4
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 3200 MT/s
Manufacturer: Kingston
Serial Number: B74E32EC
Asset Tag: Not Specified
Part Number: KHX3200C16D4/8GX
Rank: 1
Configured Memory Speed: 3200 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
Handle 0x003A, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002C
Error Information Handle: 0x0039
Total Width: 64 bits
Data Width: 64 bits
Size: 8 GB
Form Factor: DIMM
Set: None
Locator: DIMM_B1
Bank Locator: BANK 2
Type: DDR4
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 3200 MT/s
Manufacturer: Kingston
Serial Number: 89FA90A7
Asset Tag: Not Specified
Part Number: KHX3200C16D4/8GX
Rank: 1
Configured Memory Speed: 3200 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
Handle 0x003D, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002C
Error Information Handle: 0x003C
Total Width: 64 bits
Data Width: 64 bits
Size: 8 GB
Form Factor: DIMM
Set: None
Locator: DIMM_B2
Bank Locator: BANK 3
Type: DDR4
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 3200 MT/s
Manufacturer: Kingston
Serial Number: AD8E3007
Asset Tag: Not Specified
Part Number: KHX3200C16D4/8GX
Rank: 1
Configured Memory Speed: 3200 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
I understand my locator should be something like ChannelA-DIMM0 but instead I have ones like DIMM_A1. Does this indicate there might be a problem and I could be on single channel? Could that happen even when all memory modules are identical in every way? How do I check with certainty?
Go into the BIOS and disable the settings for the logo display and the quick boot however it is called. This gives you a text based booting with all the messages you normally see with it, with my boards it tells you whether the memory is in dual channel when it gets initialized. That said with all identical modules installed the board will be running in dual channel mode that is the requirement for it doing so.
Just realized I might be misinterpreting the data here: My motherboard might be reporting the same thing mentioned by other people but in different words.
Wouldn't it be correct to assume the 1 and 2 are the memory slots, but the A and B represent the channels? In this case that should be correct: I have channel A and channel B.
Your motherboard DIMM slots should be color coded. Most times your Dimms should be in sets A1 & B1, A2 & B2. For most motherboards you would use initial set in A1 & B1. The detail for "Synchronous Unbuffered (Unregistered)" indicates that your DIMM is directly coded to the memory controller without a register.
Please note that if you only placed one Dimm into the system then you would be in single channel mode. When you place another matched dimm then you would be in dual channel mode for that set. By placing another matched set into other open slots then the Motherboard should recognize that set as quad channel.
If you're installing 4 GB, get one memory stick (module) of 4 GB now so you have an easy upgrade in the future by adding another 4 GB stick later. One memory stick will result in your memory running in single channel mode, but the difference between dual and single channel mode seems marginal on synthetic tests and probably unnoticeable in real world applications. Dual channel requires at least 2 sticks. Workstations and servers can have quad channel where you'll need at least 4 sticks to get that benefit.
Most newer motherboards do support dual channel modes and will auto detect when a matched set is installed on the second channel.
Maybe this post from Tom's hardware can help you understand;
Quote:
For two DIMM population you should be using the A2 and B2 slots, which are the second and fourth slots from the motherboard. If you have two matching DIMMs, those are the slots you want to install your memory in. Not any other combination of slots. It does not even matter WHAT motherboard it is. If it is a dual channel motherboard, whether AMD or Intel, from the last ten to fifteen years, you use the second and fourth slots over from the motherboard, Period.
If you are using four DIMMs that consist of two different two DIMM kits, then you would want to put one set in the second and fourth slot, A2 and B2, and one set of matching sticks in the first and third DIMM slots over from the CPU, which are A1 and B1. Confusion exists because motherboard manuals are misleading due to unexact terminology. When it comes to memory population, the second and fourth slots make up one half each of a dual channel configuration. Putting both sticks in the SAME channel, does not result in dual channel operation
Your Motherboard manual should provide details for setting up the DIMMs. Sometimes terminology can be confusing but you should be able to contact manufacture for proper setups.
Quote:
"Knowledge is of two kinds. We Know a subject ourselves, or we know where we can find information upon it."- Samuel Johnson
You did not provide motherboard specs so a generalized reply was made.
Hope this helps.
Have fun & enjoy Gnu/Linux
Last edited by onebuck; 07-14-2021 at 10:50 AM.
Reason: transposed sets
Thanks for all that info! And sorry about that: My motherboard is an ASUS PRIME X370-PRO. IIRC it supports dual-channel not quad, it would be a pleasant surprise if it had the later.
Thanks for providing specs for your Motherboard. No, you will only have dual channel memory after viewing boards specs at Asus for;
ASUS PRIME X370-PRO
Nice board, did not check prices but I have used Asus boards in the past and found them very reliable.
Quad channel DDR4 can be very expensive and getting a board with chip set to control them can be expensive. So using lower cost DDR with a good performance board can meet most users needs.
You don't need to look up any specs to be sure you have the RAM you have optimally installed. Run memtest86 or memtest86+ with one stick, then again after adding a second stick. RAM speed will increase massively when running in dual channel mode, change little or none if the second stick went in the wrong slot.
Maybe this post from Tom's hardware can help you understand;
Quote:
For two DIMM population you should be using the A2 and B2 slots, which are the second and fourth slots from the motherboard. If you have two matching DIMMs, those are the slots you want to install your memory in. Not any other combination of slots. It does not even matter WHAT motherboard it is. If it is a dual channel motherboard, whether AMD or Intel, from the last ten to fifteen years, you use the second and fourth slots over from the motherboard, Period.
I wonder how they came up with that. I had an Asus B85M-E (Haswell) already open, so opened memtest86 v8.3 with GSkill F3-1600C9-8 sticks in A1B1 with XMP, resulting in 16.65GB/s. I then shutdown and moved the sticks to A2B2. Result was again exactly 16.65GB/s. Taking the stick out of A2 produced 9502MB/s, a rather radical drop in speed typical of running in single channel mode.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.