Date: Fri, 25 Jul 2008 08:42:54 -0400 From: Michael Powell <nightrecon@verizon.net> To: freebsd-questions@freebsd.org Subject: Re: FreeBSD and ECC memory? Message-ID: <g6chl3$22s$1@ger.gmane.org> References: <4889BAE0.6030308@skoberne.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Nejc Škoberne wrote: > Hello, > > I am buying hardware for a FreeBSD server and me and my friend argue about > whether or not to by ECC RAM for the server. It is a HP ProLiant ML110 G4 > machine and currently it has 2 x 512 HP DDR2 ECC memory. > > My friend says buying ECC memory is not wise, because we would not profit > from it since this server will not need very high availability (but still > we'd like to make it a solid server). And also that ECC memory slows down > memory operations by 2-3% all together. Also, we would profit from buying > non-ECC memory because we already have 2 x 1GB non-ECC memory and if we: > > - buy extra 2 x 1GB non-ECC memory we'll have 4GB all together (4 x 1GB) > - buy extra 2 x 1GB ECC memory we'll have 3GB all together (2 x 512MB + > 2 x 1GB) > > 1. So, what would you base your decision on? Is getting ECC worth losing > 1GB of non-ECC memory? My decision would be based upon what the server was going to be used for. Home use, or non "mission critical" I'd say non-ECC is just fine. At work for "mission critical" database, mail, etc I stick with ECC. Especially when it comes to Windows, as Windows has a nasty habit of trying to mask what's going on behind the scene. No way I'd run a large SQL database or Exchange server without ECC. I'd be more concerned with trying to buy all the memory at the same time so the sticks were all identical, especially with regard to timing and speed ratings. You can create a problem when you have stick(s) from one manufacturer then add in different ones later. IMHO, in this particular situation, my "gut" feeling from your description would be to go with the 4GB of non-ECC as it sounds like the scenario doesn't match the criteria I use for justifying ECC as a "must have". > 2. What are your experiences with ECC? > 3. Did self-halt because of a memory error (having ECC memory) ever happen > to someone here? If it does you have defective hardware that is in need of replacement. Yes, I have had bad RAM; whether it's ECC or non-ECC isn't the issue when it is simply defective. > 4. If there is non-ECC memory installed, how does FreeBSD recognizes > (corrects?) memory errors? > Generally speaking this occurs more at the hardware level. Non-ECC RAM can correct single bit errors while ECC is capable of fixing multi-bit errors. However, should I become aware that ECC was "fixing" too many errors too often I would consider there to be defective hardware present. The purpose of these schemes is to compensate for the fact that in every so many (some large number) of memory transactions there may be a bit that gets flipped. If this is happening more often than (some large number) then there is a defect present. ECC just buys you "uptime" in the event there are more errors than there should be. In either case these bit flips should only happen extremely infrequently, if ever at all. Consider that these schemes are sort of a fallback to an extreme "what if" situation and really shouldn't come into play during most nominal operations. I would go with ECC for something that just had to stay "up" even in the face or errors. In either case I'd still replace the defective component(s), irregardless of whether they were ECC or not. I've seen thousands of machines with non-ECC RAM over the last 15 years that worked just fine. Just my $.02 here. YMMV and all other standard disclaimers apply. :-) -Mike
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?g6chl3$22s$1>