I've got no issues with this. Of course they want people to upgrade themselves. They do provide a very nice guide to using swap which I followed myself.<p>They want to look the best they can and as fast as they can. If your server is heavily using swap people will think it's slow. Also SSDs do not like being written to again and again. This is exactly what using it for swap does so this could be another little reason against it being on by default.<p>To be fair, I've got a small Wordpress website with Apache, MySQL and PHP on a $5 droplet. After several weeks of working fine MySQL ran out of memory and stopped. Adding swap space has fixed this and the server can still handle 100 connections at once OK. This isn't amazing but it's enough for me for now. So I'd say, add a little swap but be sure you don't have to use it often. I'm totally happy with it being off by default. More RAM will give much better performance than more swap and $5 is incredibly cheap.
....what?<p>You should not consider swap space as additional memory. The performance of swap, even on SSD, cannot compare to RAM.<p>> Secretly wants you to switch to larger droplets<p>They operate a business where they get more money if you switch to a larger plan. What, do you think they want EVERYONE to stay on the $5/month plan?<p>Running out of memory is an issue of not being able to tune your stack correctly, and not being able to scale your application correctly. This is not the fault of Linux, mysql, or your hosting provider. It is your inability to plan ahead and prepare.
Not enabling swap is extremely common in the hosting business. Even in EC2, a lot of the AMIs have no swap. This is to prevent users from thrashing your server hard drives. It's often better to have the customer run out of memory and realize they have gotten too small of a server then for them to start thrashing your HD and then just think your hosting is slow.
Rackspace Cloud Servers do the same, their instructions for enabling swap are here: <a href="http://www.rackspace.com/knowledge_center/article/create-a-linux-swap-file" rel="nofollow">http://www.rackspace.com/knowledge_center/article/create-a-l...</a><p>Their explanation for the change is [1]:<p><i>Why remove swap?<p>In a multi-tenant cloud environment certain resources are shared amongst customers, and in the case of swap the key resource affected is “disk IOPS” (IOPS stands for “Input/Output Operations per Second”; literally the number of read/write operations that can be performed on the disk per second). Disk IOPS are consumed whenever an application performs any sort of read or write to the physical hard disks.<p>If Cloud Servers running on the same physical host are running more processes than their allotted RAM, they will begin to heavily utilize swap. This has the side effect of consuming a large portion of the available disk IOPS pool, thereby causing what we refer to as the “noisy neighbor” effect. Put plainly, this means that other virtual machines can monopolize the disk and affect your performance, much like a “noisy neighbor” in the real world can disrupt your quiet dinner plans.<p>Prior to the change described above, a separate partition, solely dedicated to swap memory, would be given to each virtual machine by default. In order to provide the best service and consistent performance, as well as aligning to industry standard practice, we have removed this default swap partition. We believe this will lead to better customer experiences across the board.</i><p>I've also just added a note about it in a blog post here: <a href="http://blog.human-friendly.com/a-week-with-docker" rel="nofollow">http://blog.human-friendly.com/a-week-with-docker</a><p>I think for beginners having some swap enabled would be a good thing although there are probably production scenarios where there are risks of massive performance degradation once you start swapping and you may prefer to know that you have hit the wall.<p>On the SSD backed cloud servers I would hope that swap would perform relatively well compared to spinning rust and if that is how you want to use the i/o that they allocate you it should be fine.<p>[1] <a href="http://www.rackspace.com/knowledge_center/article/changes-to-swap-on-cloud-servers" rel="nofollow">http://www.rackspace.com/knowledge_center/article/changes-to...</a>
I prefer having swap disabled by default and hitting the wall hard when out of memory.
Some swap is nice on desktop systems where memory usage can vary a lot. On server, RAM usage should be relatively stable. Tune your stack, pick appropriate plan that leaves some RAM headroom, and be done with it. Ah, and add alerts for when memory usage goes over some threshold.
Oh my god, really! The Digital Ocean company want to sell bigger machines and make more money. Incredible ! ;-)<p>I dont see the problem, you get what you pay for.<p>And you can enable Swap space, so where is the problem? We talk about 5 bucks in a month !
No, Digital Ocean doesn't want you to blame them for poor performance, or less disk space than advertised when you choose a droplet. SSD swap can in no way replace having adequate RAM. If you really need swap it's easy enough to create a swap file. But starting with swap space on a VM is the kind of premature optimization that would make DO look bad.
Digital Ocean remains very cost effective even if you move up to a $40 a month plan, compared to the AWS m1.small plan - $40 per month vs $47, and you get an SSD based server and 4TB bandwidth included, plus 4GB vs 1.7GB RAM. The smaller Digital Ocean VPSes are great to play around with, but for real work the $40 remain great, even without swap enabled.
Like cuu508 said server memory usage should be very stable, if you're running into swap it means you don't have enough memory and you need a bigger droplet.
I use Digital Ocean because my requirements are bounded by disk, not RAM. If I need more RAM, swapping would not save me, SSDs are still slow compared to RAM.