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

I recently found this cheap VPS site http://www.vpstree.com/ and signed up for the $0.99 plan. I've never used VPS hosting before, so I didn't really know what to expect, but for a buck I thought it would be worth trying out. I just wanted a system that I could use to host some simple services I enjoy: a sql server, a web server, a git server etc. I don't plan on putting much demand on the resources, I just want root access so I can tinker with things. So the one buck plann sounded really nice.

The trouble is that it only comes with 64MB of ram, burstable to something like 76MB. This has been fine for everything that I wanted, except for installing things. This wasn't enough ram to install MySQL, and I have run into several other packages which have similar issues. Sometimes I can get around this by just stopping all the services, but sometimes it still needs more memory.

I tried adding a pagefile for some more memory, even it was slow, but that doesn't appear to be allowed. I can upgrade for a few bucks to get more burstable memory, but it's only 128MB. Would this likely be enough to get some basic things installed, or should I look into a new VPS solution with more resources?

share|improve this question
1  
As this appears to be for your personal use only, have you considered doing this using a virtual machine instead of a VPS? There are several free VM hosting options, such as Virtualbox. –  John Gardeniers Oct 17 '10 at 23:04
    
I wish I could do all these things on my own personal box, but due to external limitations, that isn't an option. –  Bryan Ward Oct 18 '10 at 19:18
add comment

5 Answers

up vote 2 down vote accepted

I would avoid a 64Mb VM unless you know for sure that what you plan to do with it will function adequately in that little. It'll be fine for a small DNS server, a small mail relay, a very simple (all/mainly static content) web server, a location for backups, but not a lot else. You could test if your desired tasks will run in a 64Mb VM by running them locally using a small Virtual Box VM or similar, though at one one dollar per month getting one of these for a month or two to try things out is hardly going to break the bank and gives you a publicly routed IP address.

If you do run a 64Mb VM you'll need to chose components that are optimised for small environments (nginx instead of apache, SQLite instead of mySQL, and so on).

I don't know of any VM solutions that off burstable RAM and also permit the use of paging areas defined in the VM - and if your host is cramming my $0.99 VMs onto one host server (and they will be - if they don't cram many in there is no way they'll avoid making a massive loss) there will be plenty of I/O contention so you don't want to be swapping anyway as that contention will kill performance even more than swapping normally would.

share|improve this answer
add comment

In my opinion, David Spillett's answer is right on target, but I thought I would add some details from my own experience.

You might be surprised at what you can fit into a small VPS, with a little bit of elbow grease. For example, I have the following setup in a 64 MB VPS (with another hosting company). Starting with a minimal Debian Lenny install, I swapped out OpenSSH for Dropbear, replaced rsyslog with syslog-ng, and installed dhttpd (a minimal, no-CGI webserver) to serve static pages, resulting in the following:

steve@vps:~$ ps auxww
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  1.0   1980   692 ?        Ss   Oct16   0:00 init [2]
root      5590  0.0  1.4   2848   972 ?        Ss   Oct16   0:00 /usr/sbin/syslog-ng -p /var/run/syslog-ng.pid
root      5593  0.0  0.7   2040   476 ?        Ss   Oct16   0:00 /usr/sbin/dropbear -d /etc/dropbear/dropbear_dss_host_key -r /etc/dropbear/dropbear_rsa_host_key -p 22 -W 65536
www-data  5597  0.0  0.9   3004   652 ?        Ss   Oct16   0:00 /usr/bin/dhttpd
root      5612  0.0  1.1   2036   780 ?        Ss   Oct16   0:00 /usr/sbin/cron
root     16302  0.0  1.6   2352  1052 ?        Rs   16:05   0:00 /usr/sbin/dropbear -d /etc/dropbear/dropbear_dss_host_key -r /etc/dropbear/dropbear_rsa_host_key -p 22 -W 65536
steve    16307  0.0  2.8   3344  1852 pts/0    Ss   16:05   0:00 -bash
steve    27852  0.0  1.3   2296   904 pts/0    R+   16:09   0:00 ps auxww

steve@vps:~$ free
             total       used       free     shared    buffers     cached
Mem:         65536       5684      59852          0          0          0
-/+ buffers/cache:       5684      59852
Swap:            0          0          0

steve@vps:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/simfs            5.0G  263M  4.8G   6% /
tmpfs                  32M     0   32M   0% /lib/init/rw
tmpfs                  32M     0   32M   0% /dev/shm

This VPS is using less than 6 MB of 64 MB RAM, and only 263 MB of 5 GB disk. I bet I could shoehorn a little MySQL database in there, but it probably wouldn't have much room to breathe. A 128 MB or larger VPS would certainly work better.

share|improve this answer
    
apt-get wouldn't even install MySQL for me there was so little ram. –  Bryan Ward Oct 18 '10 at 19:20
    
@Bryan: Do you mean that apt-get bails out due to insufficient memory? If so, a couple of things to try: (1) Turn off all unneeded daemons while running apt-get. Things like logging, mail server, sshd, crond/atd, web server, and so on, can all be turned off while you run apt-get. (2) Manually install MySQL's prerequisite packages before attempting to install MySQL itself. That way, apt-get doesn't have to build as large a dependency tree in memory. –  Steven Monday Oct 18 '10 at 20:13
    
Yea, that's what I have tried, it still fails though. I think I may upgrade to something with more RAM. –  Bryan Ward Oct 19 '10 at 15:11
    
@BryanWard: That's because MySQL will try to start with the InnoDB (memory hog) engine enabled, just make sure you have a my.cnf fine where MySQL expects it to be before you install MySQL. Needless to say you need to place skip-innodb in that file. –  Alix Axel Nov 23 '12 at 2:36
add comment

Unless you already have experience dealing with systems that small and actually have a legitimate reason for using it, you will have much less pain going with a completely different plan altogether.

share|improve this answer
add comment

Yeah uhm, I think I would opt for something with more ram. Linode has bumped their 360MB to 512MB for $20/mo, which is probably the best bang for buck for that price.

http://www.linode.com/

Whereas slicehost is $20 for 256, $25 for 384, $38 for 512.

share|improve this answer
    
Nah, there's even cheaper around. –  Ignacio Vazquez-Abrams Oct 17 '10 at 22:05
    
For the same quality and ram? –  meder Oct 17 '10 at 22:05
    
I can't say anything regarding the quality, but certainly more RAM (1024MiB at the $20 level). –  Ignacio Vazquez-Abrams Oct 17 '10 at 22:14
    
Which hosts offer that? –  meder Oct 17 '10 at 22:17
3  
prgmr.com does. –  Ignacio Vazquez-Abrams Oct 17 '10 at 22:24
add comment

I run a couple of VPSs with 256 MB. That is barely enough for a combined mail and web server with some anti-malware and anti-spam scanning. With 64 MB you'll be luckly to load the OS.

share|improve this answer
add comment

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.