Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Are ECC memory modules important to have on a non-critical server?

I was thinking about getting myself a toy dedicated server for lots of random, non-critical stuff. Sporadic reboots are no big deal. I'm looking at one provider but the prices are insanely cheap. Their hardware sounds like a joke for any any serious server box: desktop processors, non-ECC RAM, no-name chassis, no hotswap SATA HDD, etc. (well, the price justifies it, I guess).

I take ECC memory for granted on any "serious" server, so I'm wondering if it's a big deal or not for "toy" appliances.

share|improve this question
3  
You question ECC memory yet appear happy to use SATA drives. Very strange. –  John Gardeniers Feb 5 '12 at 20:52
3  
@JohnGardeniers You see, even if that means a dead HDD once a year, I don't mind few hours of downtime and raid recovery. But having daily/weekly trouble would be annoying. Yes, I'm actually more concerned over my leisure than my uptime in this case... –  PJK Feb 5 '12 at 21:02
5  
@JohnGardeniers: SATA drives aren't any more reliable than SCSI/SAS HDDs: usenix.org/event/fast07/tech/schroeder/schroeder.pdf –  Hubert Kario Feb 6 '12 at 1:02

4 Answers 4

up vote 8 down vote accepted

Data published by CERN IT staff (Data Integrity) would suggest that the amount of errors that comes from RAM is quite low. You still have to weight your data and the cost of hardware.

You can read a bit more about this at StorageMojo.

share|improve this answer

ECC RAM basically helps to prevent errors that occur when reading and writing from RAM. The chance of there actually being an error is quite small, but non-zero. I would say that if you aren't doing mission-critical stuff you could get away without ECC RAM - like I said, the chances of encountering an error that ECC would prevent is really, really small.

share|improve this answer

It's simply not that important. If you needed 99.999% uptime you'd worry about it. Other than that you'll reboot more often than you'll get memory errors.

share|improve this answer

What is a non-critical server? One that can fail?

ECC RAM is fundamental when memory reliability is fundamental.

Two things grow with the growth of memory sizes:

  • the reliance of software on memory, esp. server software (take e.g. caching)
  • the probability of memory error (p = num_bits * p_bit_failure)

This intel presentation on ECC reports these facts:

  • Average rate of memory error for a server with 4GB memory running 24x7 is 150 times a year
  • ~4000 correctable errors per memory module per year
  • Overclocking and system age greatly increase failure rates
  • Recurrent failures are common and happen quickly (97% occur within 10 days of first failure) => avalanche effect
  • For an ECC server with lifespan of 3 to 5 years, chance for system failure uncorrectable memory error is less than 0.001%

Another recent research by WISC shows ECC to be essential for these ZFS systems:

ZFS has no precautions for memory corruptions: bad data blocks are returned to the user or written to disk, file system operations fail, and many times the whole system crashes.

The ZFS filesystem is increasingly popular on servers; it gives major performance and reliability improvements by eating up Gigabytes of RAM.

ECC is what saves you from running into these problems, when possible, and in disastrous cases, what warns you about this happening before it's too late.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.