VMware Cloud Community
sbonds
Contributor
Contributor

Is my memory ECC enabled?

I scoured this and other forums and was unabled to find a good way to do this-- until now!

I recently bought a new Dell T110-II server for a super-low-budget standalone test environment.  However, painful first-hand experience has taught me that ECC memory is simply non-optional.  Creeping corruption of data over the course of many months will serve as a great reminder in the future.

I bought the server and gave it a nice burn-in using Memtest86+.  Unfortunately, it reported that ECC was disabled.  A bit of digging showed that the current production release of Memtest86+ doesn't support ECC on the T110-II.  No worries, there's a beta available that does.  Well... sort of.  I couldn't get it to enable ECC either.  Then I discovered that the ECC MMU is on the CPU rather than the motherboard and the Celeron processor doesn't support ECC (per Intel ARK.)  OK, a couple hundred dollars later I have a nice Xeon sitting in there.  ECC is going to come on now, right?  Nope.  Perhaps Memtest86+ is broken?  I started looking for a way to confirm that despite what Memtest86+ said, ECC was really enabled.

The virtualization process masks the details of the host memory from the VMs, so they can't tell me much.

The ESXi shell in ESX 5.0 doesn't have dmidecode available, so my usual trick fails there too.

However, the ESXi shell *does* have smbiosDump.  This does pretty much what dmidecode does, just without the decode.

Towards the very bottom I found this little gem:

-----

  Physical Memory Array: #43

    Use: 0x03 (System memory)
    Location: 0x03 (Motherboard)
    Slots: 4
    Max. Size: 32 GB
    ECC: 0x06 (Multi-bit)
    Error Info: No Error

-----

Nice!  This is also confirmed later on in the per-DIMM entries:

-----

  Memory Device: #44

    Location: "DIMM A2"

    Bank: "BANK 0"

    Manufacturer: "019800000000"

    Serial: "CEAD40B"

    Asset Tag: "041236"

    Part Number: "9965525-026.A00LF"

    Memory Array: #43

    Error Info: No Error

    Form Factor: 0x09 (DIMM)

    Type: 0x18 (Other)

    Type Detail: 0x4080 (Synchronous)

    Data Width: 64 bits (+64 ECC bits)

    Size: 8 GB

    Speed: 1333 MHz

-----

So if any of you (or perhaps even a future me) need to find out if ECC is working on your CPU/memory/server combination, this should do the trick for you.

Feel free to comment if you think this method might be misleading in some cases.

Thanks,

  -- Steve Bonds

0 Kudos
1 Reply
Adam72881
Contributor
Contributor

Thanks! I know this is an old post, but I wanted to acknowledge that this helped me ensure ECC was enabled in ESXI 6.7

0 Kudos