# What are your RAM limits for different use cases?



## wlanboy (Jun 15, 2013)

I used quite a lot of different sizes of vps. But during this year I realized that I don't use 32MB vps any longer. Even 64MB of RAM is not enough to compile something. So this is my list of RAM sizes including their usage:


64MB RAM
Only useable if you have swap. I have to stop all services to compile a new version of Ruby or lighttpd. Or even something like apt-get upgrade.
It is enough for OpenVPN, SSH, lighttpd and two ruby processes.
96MB RAM
Only useable if you have swap. Enough free RAM left for apt-get upgrade. And you do not have to stop every process to be able to compile something.
It is enough for OpenVPN, SSH, lighttpd with php and two ruby processes.
128 MB RAM
Enough RAM for all compile or upgrade work. Webserver with several php processes, Ruby, OpenVPN, SSH and a proxy server. You will not have to use the full RAM but you have enough space left to do something without stopping server processes prior to your work.
Even able to run a wordpress blog, a Rails app or a RabbitMQ server. You will also need at least that amount of RAM to run a mail server (with all needed addons).
256 MB RAM
Able to run a full LAMP stack without any hassle. If you have a offloaded MySQL database this vps can handle quite a lot of traffic. Enough space for heavy cronjobs and some RAM consumers like MongoDB, Redis or RabbitMQ.
512 MB RAM
Enough RAM to run a desktop environment. XFCE + VNC are your friends. Ideal for a shared development enviroment. Don't want to sync/git/svn/scp your stuff to test it? Run a complete test environment. And if you are not on the box the vps can run auto tests, grap/pars RSS/twitter stuff etc.
2 GB RAM
First step into Java. You might be able to run Tomcat or Jboss with less than 1GB of RAM but without any major application on it. Not takling about any Melody stuff to have a look at your stats.
After consolidating my vps I realized that I do not invest into a vps but into a location. And if I want to have a vps in a specific location I will use it for more than one reason.

DNS is a often used excuse (plea - but I am not allowed to use dictionaries any longer) to play around with a vps you do not need. Idling around because it was a good deal.

I see a new location as an opportunity to increase my own network. Ping, traceroute, uptime monitors. Crawlers for RSS feeds, tweets or just a constant search for websites doing the nasty copy/paste thing on my content.

And of course vice versa backups of /etc and my ruby scripts on each vps. If e.g. five vps on five different locations are dead you might have a bigger problem than just that five vps.

So currently my hard limit is 64MB of RAM. My soft limit is 96MB of RAM because this little extra RAM saves me some work.

So how about you? What are your RAM limits on a new vps?


----------



## Tux (Jun 15, 2013)

My hard max limit is 2GB, as then I will likely be better off with a dedicated server for the task.

My hard low limit is really 128MB. With some swapping I can run NSD for all of my domains and/or Mumble, or a comfortable LEMP stack with a low-RAM consumer (Chyrp is a great example of this, although it uses MySQL it's very fast and even moreso when you enable the cacher module). Actually, I can do all 3.

In 256MB, I can run either SRCDS (Source engine dedicated server), and "light Java application usage" can begin here -- a small Minecraft server, or a lightly-used Jenkins instance. These will likely swap somewhat, and it can hurt (especially Minecraft).

My general limit is 512MB. I ran run a larger Minecraft server, or tune a LEMP stack to eat more RAM. I can also run Jenkins a bit more carelessly.

At 1GB I'm usually running more stuff than a simple LEMP stack and this will be the point where a dedicated server would be handy.

At 2GB (my hard limit), I stop upgrading and jump to dedicated server if I need to go any further. If I'm at this point, I'm likely running multiple gameservers on the box from Minecraft to BYOND to Source.


----------



## wdq (Jun 15, 2013)

I typically purchase VPS's with 512MB of RAM since most of them are used for web application stacks.

Most of the time I'll only be using around half of my memory so I could probably go with 256MB but then I'd have to worry about usage spikes, or some application having issues, so I really prefer to have some overhead. 

For simpler things like DNS, IRC, and a VPN I go with 128MB and I don't usually run into any issues. 

I also have some larger VPS's with anywhere from 2GB to 4GB which I either use for testing out different things, or for Java based things like Minecraft game servers which usually run a lot better with a lot of memory. 

I've only ever had a couple of dedicated servers and never really found them worthwhile. They are usually quite a bit more expensive and the performance isn't always any better than a really solid VPS. I also like the ability to have many VPS's in various locations rather than a dedicated server as a single point of failure. 

What I really need to do is build a monster server and find the absolute best place for colocation to replace the majority of my VPS's.


----------



## tdc-adm (Jun 15, 2013)

*@**wlanboy*, Thank you for your list of RAM sizes including their usage. Interesting


----------



## willie (Jun 15, 2013)

I don't see much need to compile stuff on a small VPS if doing stuff "for real". That's kind of bad deployment-fu even if you have the ram for it. Normally you'd compile on a development or build machine, and push the compiled code to the server where it will run.


----------



## drmike (Jun 15, 2013)

I deal with 128MB VPSes typically with about the same in swap.

Some providers seem to behave differently at this mark and some artificial problems seem to occur that I can't replicate with same specs elsewhere.

256MB accounts are the sweet spot for me, with swap.

I've stopped entirely caring about or using the 2GB+ accounts.   At that level, far better dealing with a dedicated server or a colo server.


----------



## wlanboy (Jun 15, 2013)

willie said:


> I don't see much need to compile stuff on a small VPS if doing stuff "for real".


One limitation of OpenVZ is that you have to depend on the kernel version of your host. So I do have four different kinds of ubuntu versions running on my vps. I do want to use RVM for Ruby and therefore I have to compile the Ruby version on my local vps. And no I do not want to use the outdated binary versions of the distributions.


----------



## Coastercraze (Jun 15, 2013)

256 MB - plenty for DNS or small web applications.

512 MB - for more involved applications

1 GB - That's my sweet spot. Great for busier sites with heavier web app usage.

1.5 GB - Minecraft or other game servers.

2 GB and above - I feel I may as well have gotten a dedi, the price is usually up there for that.


----------



## Pebsie (Jun 16, 2013)

For me it really depends on the price but since I mostly use Linux for hosting gameservers and webservers I'd say my soft limit is about 128mb RAM and hard limit is about 4gb because, as as wdq said, any more than that and you may aswell buy a dedi.


----------



## vanarp (Jun 17, 2013)

I started using VPSes for webserver running LEMP stack. The websites are WP driven and run at least 3-4 plugins and in some cases 10+ plugins.

128 MB: I was able to run a WP site with 10+ plugins without any issues. I used WP caching plugin to serve content as static as much possible.

256 MB: This is good enough VPS for running a couple of WP sites. I currently own none of these.

512 MB: Able to run many WP sites and notice no degradation of performance. This is my ideal choice at the moment from price/performance point of view. I have never seen memory limits hitting on this. So I even downgraded a 1GB KVM to 512 OVZ as that pretty much serves my purpose.

Now that I am happy with 512 MB VPSes, I am experimenting with the 128 MB ones to learn new things I have not tried yet.


----------



## MannDude (Jun 18, 2013)

<128MB =  Random testing of stuff. SSHuttle/VPN, messing around.
256MB = vpsBoard 
512MB = Whatever, at this point. LAMP/LEMP stacks. Not very optimized or tuned
1GB+ = cPanel server. I've got a cPanel box to keep up-to-date with cPanel and to toss some other random sites of mine on.


----------



## wlanboy (Aug 25, 2013)

Want to update my list:


64MB RAM
Enough for OpenVPN, SSH, lighttpd and two ruby processes.
96MB RAM
Enough for OpenVPN, SSH, lighttpd with php and two ruby processes.
Or a postfix/dovecot email server.
128 MB RAM
Enough for OpenVPN, SSH, lighttpd with php, mysql and two ruby processes.
Even able to run a wordpress blog, a Rails app or a RabbitMQ server. You will also need at least that amount of RAM to run a mail server (with all needed addons).
256 MB RAM
Able to run a full LAMP stack without any hassle. If you have a offloaded MySQL database this vps can handle quite a lot of traffic. Enough space for heavy cronjobs and some RAM consumers like MongoDB, Redis or RabbitMQ.
512 MB RAM
Enough RAM to run a desktop environment. XFCE + VNC are your friends. Ideal for a shared development enviroment. Don't want to sync/git/svn/scp your stuff to test it? Run a complete test environment. And if you are not on the box the vps can run auto tests, grap/pars RSS/twitter stuff etc.


----------



## Deleted (Aug 27, 2013)

The problem with memory usage in VPS's is that the guest OS arch has a lot to do with memory usage. 64bit software uses way more memory than 32bit due to swollen pointers and alignment padding. When you use 64bit with say, 512MB of memory, a mmap() call will actually consume almost 3x the amount of memory (eaccelerator on a 512MB server with x86_64 is a bad idea) and you'll quickly run out of memory.

My 2 cents.


----------



## ICPH (Aug 28, 2013)

This is usefull comparison, yes, i realised too that 32, 64MB VPSs are hard to upgrade and use, its really not much money to have 128MB, but way better 256MB one.


----------



## peterw (Aug 28, 2013)

ICPH said:


> This is usefull comparison, yes, i realised too that 32, 64MB VPSs are hard to upgrade and use, its really not much money to have 128MB, but way better 256MB one.


64MB are ok if you have vswap and if you stop all services for upgrade. Perfect vps for vpn or proxy only.

As you said 128MB is trouble free.


----------



## willie (Jan 3, 2014)

I'd say with SSD storage, 128MB is enough for most of the VPS applications I can think of.  Ruby and Java are memory intensive, but Python, Go, Erlang, Perl(?), or of course C can run in fairly small footprints.  SSD takes the pressure off the file cache if you're serving a lot of static files or hitting a database with typical access patterns (hot indexes and a little bit of hot data, other accesses read from disk).  Heck, even the computation intensive stuff I run in dedicated servers mostly fits easily into 128 meg.

128MB was a fairly big server in the original dotcom era, and a lot of the code from back then is still around and hasn't changed that much.  I have a 32MB OpenVZ VPS and it runs apt-get update/install perfectly well.  If you look at some of the very small Linux distros (e.g. Angstrom) intended for embedded devices, they run ok with as little as 4MB.


----------



## tonyg (Jan 3, 2014)

128mb = central log server, website backup and development

256mb = main production web server -- Debian 7 x86/nginx/php-cgi/mysql

I hover between a low limit of 256mb and a high end of 512mb (if I find a good deal only) for my VPS stuff.

At the office I have a bare metal FreeBSD w/ZFS backup file server with 2GB memory and a Debian backup file server with 1 GB memory.

My main workstation (Windows 7 Utltimate) with 8GB memory works nicely with a few VMware machines.


----------

