Jump to content
We're Hiring! Full Stack Developer ×

What memory for HP Microserver (N36L) Upgrade???


Recommended Posts

Hi Guys.


I know its not strictly unRAID, but I've always found the forums here informative, friendly and responsive.


I am running unRAID on a microserver. As many of you know its only got 1Gb RAM as standard. I am running unRAID v5.0 beta 13

along with the SABnzbd, SickBeard and CouchPotato Plugins. Oh, and the iStat & DynDNS plugin too. It ran fine for the first two weeks but recently I noticed a few "Run out of memory" errors in the syslog and it crashed.


So, now I am thinking to upgrade my box and I want to know if there is any particular RAM I should go for. I remember reading in one post that the HP Microserver "had to" have ECC RAM which I understand is more expensive. Then (on a different occassion) I read another thread where someone suggested non-ECC was fine. Then I read somewhere else that for a file server / NAS its not worth taking the risk of running non-ECC RAM.


Now, I am new to unRAID and don't really understand the difference between ECC and non-ECC RAM???


However, my question is, Which one do I need and how much shall I put in for my application? Would just another 1Gb do? I saw a 1Gb stick on eBay that someone had removed from a N36L for around a tenner. Or should I be looking at sticking in a 2Gb or even 4Gb stick alongside my 1GB that came with it? How will it run with 3/5Gb RAM?

Link to comment

I have no experience with the HP Microserver, so I can only offer general advice.  ECC (error correcting code) allows the RAM to recover from certain errors internally without passing them along to the hard drives.  With unRAID, all incoming data is temporarily cached in the RAM before it is passed on to the hard drives.  An error in the RAM could cause a corrupted file to be written to the hard drives (and it could cause parity to go out of sync).  A few corrupted bits in a movie might cause a single frame to skip, but nothing catastrophic.  However, a few corrupted bits in a document or encrypted file can cause the whole file to be lost.  For this reason, I recommend always using Teracopy or another program that supports CRC or MD5 checks to transfer data to and from your server.  It is up to you if you think your data is important enough to warrant ECC RAM or not.  I personally don't use it, and I generally don't build servers with it unless it is specifically requested.  All RAM (ECC or non-ECC) should be subjected to at least 8 hours of memtest, which will test the RAM's integrity anyway.  I personally test all RAM for 24+ hours.  If the RAM passes memtest for that long then I will trust it, ECC or otherwise.  Using Teracopy or similar also serves as a double-check that the RAM is working properly.


If others have reported the HP Microserver working with non-ECC RAM, then I would suggest using that.  ECC RAM is more expensive, and in my opinion not overly important for a home file server.  If you can find ECC RAM for only a bit more money then go for it, but don't pay double for it.  If you want to learn more about ECC RAM, check wikipedia.

Link to comment
  • 2 weeks later...

Thank you so much for an informative and highly useful reply.


So I did a bit more research and as far as I understand it ECC RAM is a bit like RAM with parity, so using this avoids any errors getting written to the hard drives. Which is more or less wht you've explained above.


I think I will opt for ECC as its better to avoid the possibility of any errors. Hopefully adding 2Gb should be enough for unRAID and the "holy trinity" to perform well.



Link to comment

if you are running all those plugins, you may want to create a swap file too.

The downside of this is, it could keep a disk busy if there is swapping going on.


One of the problems inherant in unraid and initramfs, is the rootfs cannot be swapped out.


So if you are running into memory problems, installing allot of files your root ram filesystem or your syslog grows too large you can run out of ram.


Do you have a cache drive? Perhaps carving that up with an extra swap partition would help with memory requirements by the applications.


In order to utilize swap for log file emergency storage you would need to mount a tmpfs onto /var/log and/or on /tmp.

These are pretty easy procedures, but probably a tutorial for another thread.


I have experimented with tmpfs and swap, I have proven that if you start running out of ram while putting a very large file on a tmpfs filesystem, it will be stored in swap temporarily.


it all depends on where these plugins are installed and where they may write tmp files.


Link to comment

Oh and another choice to save precious ram is to install the apps onto an app drive or a hidden folder on your cache drive.


Then do a cp -rsv (source folder) (destination folder).


This has the effect of making symlinks in the initramfs/rootfs which points to the files stored on another medium.

The paths will resolve, and the net effect is saving precious initramfs/rootfs.




root@atlas /usr/local/lib #cp -rsv /mnt/cache/.local/lib /usr/local

`/mnt/cache/.local/lib/packages/openssh-unmenu-package.conf' -> `/usr/local/lib/packages/openssh-unmenu-package.conf'

`/mnt/cache/.local/lib/packages/openssh-4.6p1-i486-1.tgz' -> `/usr/local/lib/packages/openssh-4.6p1-i486-1.tgz'

`/mnt/cache/.local/lib/packages/vnstat-1.6.tar.gz' -> `/usr/local/lib/packages/vnstat-1.6.tar.gz'

`/mnt/cache/.local/lib/packages/openssl-solibs-0.9.8g-i486-1.tgz' -> `/usr/local/lib/packages/openssl-solibs-0.9.8g-i486-1.tgz'

`/mnt/cache/.local/lib/packages/unRAID Server 4.5.5.zip' -> `/usr/local/lib/packages/unRAID Server 4.5.5.zip'

`/mnt/cache/.local/lib/packages/rtorrent.zip' -> `/usr/local/lib/packages/rtorrent.zip'

`/mnt/cache/.local/lib/packages/powerdown.zip' -> `/usr/local/lib/packages/powerdown.zip'

`/mnt/cache/.local/lib/packages/preclear_disk.zip' -> `/usr/local/lib/packages/preclear_disk.zip'

`/mnt/cache/.local/lib/packages/openssl-unmenu-package.conf' -> `/usr/local/lib/packages/openssl-unmenu-package.conf'


root@atlas /usr/local/lib #cd /usr/local/lib/packages/

root@atlas /usr/local/lib/packages #ls -l

total 0

lrwxrwxrwx 1 root root 55 Dec  6 11:03 openssh-4.6p1-i486-1.tgz -> /mnt/cache/.local/lib/packages/openssh-4.6p1-i486-1.tgz*

lrwxrwxrwx 1 root root 58 Dec  6 11:03 openssh-unmenu-package.conf -> /mnt/cache/.local/lib/packages/openssh-unmenu-package.conf*

lrwxrwxrwx 1 root root 63 Dec  6 11:03 openssl-solibs-0.9.8g-i486-1.tgz -> /mnt/cache/.local/lib/packages/openssl-solibs-0.9.8g-i486-1.tgz*

lrwxrwxrwx 1 root root 58 Dec  6 11:03 openssl-unmenu-package.conf -> /mnt/cache/.local/lib/packages/openssl-unmenu-package.conf*

lrwxrwxrwx 1 root root 44 Dec  6 11:03 powerdown.zip -> /mnt/cache/.local/lib/packages/powerdown.zip*

lrwxrwxrwx 1 root root 48 Dec  6 11:03 preclear_disk.zip -> /mnt/cache/.local/lib/packages/preclear_disk.zip*

lrwxrwxrwx 1 root root 43 Dec  6 11:03 rtorrent.zip -> /mnt/cache/.local/lib/packages/rtorrent.zip*

lrwxrwxrwx 1 root root 54 Dec  6 11:03 unRAID\ Server\ 4.5.5.zip -> /mnt/cache/.local/lib/packages/unRAID\ Server\ 4.5.5.zip*

lrwxrwxrwx 1 root root 48 Dec  6 11:03 vnstat-1.6.tar.gz -> /mnt/cache/.local/lib/packages/vnstat-1.6.tar.gz*


Link to comment


This topic is now archived and is closed to further replies.

  • Create New...