What sort of information do you need about the performance requirements?
edit: I have one. No bottlenecks. Bottlenecks are the worst thing for me. They don’t let me sleep at night.
What sort of information do you need about the performance requirements?
edit: I have one. No bottlenecks. Bottlenecks are the worst thing for me. They don’t let me sleep at night.
I only use SATA devices in this server.
Do you mean that I can operate SATA devices with the appropriate cable on this MCIO ports? Please don’t give me false hope.
I have already ordered ECC RAM and will test it.
Unfortunately, I forgot to specify the graphics card for the Jellyfin transcoding in the server details. I’m sorry about that. This would leave only one PCIe 2.0 x1 slot available. It would be just enough for an SSD. However, I would like to set up a mirror for the SSD. To do this, I would have to buy a second controller for the second SSD. Would the bandwidth of the B450 chip be sufficient for this? There are four SATA HDDs (SATA board ports) and two SATA SSDs (two SATA controllers on PCIe 2.0 x1). Bottlenecks must not occur under any circumstances.
Hopefully it is ECC unbuffered DIMM (UDIMM).
You could also replace M.2 SATA SSD with a M.2 5x/6x SATA Controller:
https://www.amazon.de/s?k=m.2%20sata%205x%206x
Up to 4 SATA drives would have almost max. SATA bandwidth. So you have 4+4 SATA ports.
What’s the use case and workload?
How many simultaneous users? One? A handful? One hundred?
Pure storage, or also apps? If so which kind? The usual light home stuff? Two dozens full featured VMs? A local AI server handling a LLM of X gazillon parameters?
Anything to size the server…
Then I have bad news for you: Chasing bottlenecks is a vicious game of Whack-A-Mole. And the game is rigged so that you never, ever, win.
Here comes one significant requirement… You can:
Not all M.2 sata controllers are equal.
There have been complaints about some variants that use JMicron and/or port multipliers.
Other variants that use Asmedia controller apparently work better.
This is an unreasonable expectation.
There will always be a bottleneck somewhere.
You would have to check with ASRockRack.
They certainly make some boards where this is possible, the language used is “1 MCIO (PCIe3.0 x8 or SATA 6Gb/s)” and that is not used on the one you are interested in.
(In the linked case it is a chipset feature)
…and the EPYC4000D4U board has no chipset.
A certain Linus S posted a video using this board just the other day, if you find watching build Linus in a build video interesting…
Different use-case though.
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.
Handle 0x0028, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 128 GB
Error Information Handle: 0x0027
Number Of Devices: 2
Handle 0x002F, DMI type 17, 92 bytes
Memory Device
Array Handle: 0x0028
Error Information Handle: 0x002E
Total Width: 128 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: None
Locator: DIMM_A1
Bank Locator: BANK 0
Type: DDR4
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 2666 MT/s
Manufacturer: Avant
Serial Number: 00000000
Asset Tag: Not Specified
Part Number: W724GU44J2320NA
Rank: 2
Configured Memory Speed: 2666 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
Memory Technology: DRAM
Memory Operating Mode Capability: Volatile memory
Firmware Version: Unknown
Module Manufacturer ID: Bank 6, Hex 0xF7
Module Product ID: Unknown
Memory Subsystem Controller Manufacturer ID: Unknown
Memory Subsystem Controller Product ID: Unknown
Non-Volatile Size: None
Volatile Size: 32 GB
Cache Size: None
Logical Size: None
Handle 0x0032, DMI type 17, 92 bytes
Memory Device
Array Handle: 0x0028
Error Information Handle: 0x0031
Total Width: 128 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: None
Locator: DIMM_B1
Bank Locator: BANK 1
Type: DDR4
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 2666 MT/s
Manufacturer: Avant
Serial Number: 00000000
Asset Tag: Not Specified
Part Number: W724GU44J2320NA
Rank: 2
Configured Memory Speed: 2666 MT/s
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
Memory Technology: DRAM
Memory Operating Mode Capability: Volatile memory
Firmware Version: Unknown
Module Manufacturer ID: Bank 6, Hex 0xF7
Module Product ID: Unknown
Memory Subsystem Controller Manufacturer ID: Unknown
Memory Subsystem Controller Product ID: Unknown
Non-Volatile Size: None
Volatile Size: 32 GB
Cache Size: None
Logical Size: None
I think ECC works.
Mushkin Proline DIMM 32GB, DDR4-3200, CL22-22-22-52, ECC
Someone on this forum posted, that these boards are not good.
Workload: Docker apps and media storage
Docker apps: jellyfin, vaultwarden, nextcloud (comming soon), paperless-ngx (comming soon), mailcow (comming soon)
users: first only me, but I will expand it to my family (up to six users, randomly simultaneous)
Apps are sitting on a 1TB 2,5" SSD (will be mirror as soon as the new ssd arrives), media is sitting on a 20TB 3,5" SATA drive (will be migrated to RAIDZ1 as soon as the new board arrive)
I also wanted HDR tone mapping. That works only with dGPU according to jellyfin docs.
Gotcha! Thx
I asked ChatGPT. It seems to be OK. What’s your opinion?
Can you see any errors?
ChatGPT:
From the dmidecode output you've provided, there are no obvious errors in the memory configuration. Everything appears normal and healthy, but let's double-check all relevant sections for any red flags or inconsistencies:
✅ Memory Array (Handle 0x0028)
Location: System Board
Use: System Memory
Error Correction Type: Multi-bit ECC → Good; system supports ECC.
Maximum Capacity: 128 GB
Number Of Devices: 2 → Matches the 2 installed modules.
✔️ No errors here.
✅ Memory Devices (Handles 0x002F and 0x0032)
Both DIMMs (DIMM_A1 and DIMM_B1):
Size: 32 GB each → Correct.
Speed: 2666 MT/s → Matches between both modules.
ECC: Total Width = 128 bits, Data Width = 64 bits → Indicates 64 bits for data + 64 bits for ECC, which is normal for ECC RAM.
Type Detail: Unbuffered (Unregistered) → Acceptable if the motherboard supports UDIMM ECC.
Voltage: All voltages are 1.2V → Normal for DDR4.
Serial Number: 00000000 → Odd, but not necessarily an error. Some manufacturers (especially less-known brands like Avant) use generic or unset serials.
Firmware Version / Product IDs: Marked as "Unknown" → Common for generic or non-enterprise RAM; not necessarily an error.
✔️ No mismatch in part numbers, size, or speeds between modules.
✔️ ECC is enabled and consistent across both sticks.
⚠️ Minor Anomalies (but not errors):
Serial Numbers = 00000000
→ This is unusual, but not critical. It may indicate:
A budget memory module.
Poor SMBIOS implementation by the manufacturer.
Generic SPD programming.
Firmware Version: Unknown / Product IDs: Unknown
→ Again, this is common in non-brand or lower-cost memory and doesn’t mean the RAM is faulty. However, it might make diagnostics or RMA trickier.
🧪 Want to Be Thorough?
To really confirm there are no memory errors at runtime:
Run a memory test, e.g.:
memtest86+ from boot.
stressapptest or memtester from within Linux.
Check system logs:
bash
Kopieren
Bearbeiten
dmesg | grep -i ecc
journalctl -k | grep -i error
✅ Conclusion
Your dmidecode report shows a healthy, properly configured memory system with:
Correct ECC configuration,
Matched modules,
No size/speed/voltage issues,
No BIOS reporting errors.
The only oddities are cosmetic (serial numbers and missing metadata), but these are not functional errors.
Let me know if you'd like help running a live memory test or checking logs for ECC events.
Well ASM1166 chips are seemingly well as outlined here:
It definitely does:
Error Correction Type: Multi-bit ECC
You could do a round of MemTest86(+) just to make sure DIMMs are running well. MemTest86(+) also tells if ECC is active.
This strikes me as wrong. Data width should indeed be 64 bits, but the ECC should only add 8 bits for a total of 72. Your chatbot is drawing the wrong conclusion here.
I think this is possibly a reporting issue with dmidecode reading something wrong or your BIOS responding in an unexpected way.
It could also be that dmidecode is presenting the combined width of the two modules, so 64 + 64, which means it says nothing about the ECC functionality.
Yeah, ChatGPTs interpretation of that output is just partly wrong.
64+64 means just 2 modules => dual channel, so 128bits.
ECC is just 8 bits.
It’s weird that it does it, because it sometimes shows it, here’s an excerpt from my setup:
Memory Device
Array Handle: 0x0026
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: None
Locator: DIMMA2
Bank Locator: P0_Node0_Channel0_Dimm1
Type: DDR4
Type Detail: Synchronous
Speed: 2667 MT/s
Manufacturer: Micron
etc.
That’s with two modules installed, so the above is repeated in another section.
My motherboard (a X11SCH-F) only supports single bit error correction though.
Interesting, its same for my Ryzen in Dual-Channel unganged mode:
Handle 0x002F, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 128 GB
Error Information Handle: 0x002E
Number Of Devices: 4
Handle 0x0036, DMI type 17, 92 bytes
Memory Device
Array Handle: 0x002F
Error Information Handle: 0x0035
Total Width: 72 bits
Data Width: 64 bits
[...]
It may depend on memory configuration (e.g. ganged/ungange mode) in BIOS and BIOS version too.
Maybe a round of MemTest86(+) is a good idea after all.
My opinion is ChatGPT at least as of 4o is not good for research, but fine for genai and particularly excels at ImageGen.
Which AI is good for research. I am planning to host my own on my main pc.