One of the dirty little secrets of 64 bit computing is that it greatly impacts memory usage. For the past year I’ve been hosting this blog and some other software on a 256MB 64 bit slice. Getting a LAMP stack to run in 256MB is certainly possible. When I started in this biz a decade ago that was a healthy amount of RAM. However, when you run a 64 bit VM, memory does tend to be hard to come by.
The reason is really simple. On a 64 bit processor your standard unit of data is twice as large as on a 32 bit processor. This means that oftentimes you are using 64 bits of data to store a number that would fit just fine in 32 bits. It’s possible to use smaller amounts, but most programs just tend to use the default machine “word” size. So 64 bit programs tend to use A LOT more ram.
Tonight I “downgraded” my VM from a 64 bit VM to one of SliceHost’s new 32 bit VMs. It couldn’t have been simpler. I tar’ed up the source code, mysqldump’ed the database, copied those backups offsite and told SliceHost to rebuild the server. When I brought the server back up I configured the database passwords, installed a couple packages, set up a couple virtual hosts, and restored my backups, and we’re back in business. It was all ready by half time of the Lakers/Suns game, which means it probably took about an hour.