<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Low End Box &#187; Software</title>
	<atom:link href="http://www.lowendbox.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lowendbox.com</link>
	<description>Hosting Websites on Bare Minimum VPS/Dedicated Servers</description>
	<lastBuildDate>Wed, 08 Feb 2012 22:15:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How Do You Monitor Your Low End Virtual Server?</title>
		<link>http://www.lowendbox.com/blog/how-do-you-monitor-your-low-end-virtual-server/</link>
		<comments>http://www.lowendbox.com/blog/how-do-you-monitor-your-low-end-virtual-server/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 04:30:29 +0000</pubDate>
		<dc:creator>LowEndAdmin</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.lowendbox.com/?p=573</guid>
		<description><![CDATA[Well. Not much cheap deals going on at the moment nor do I have anything useful to write about. So here is just some questions to ask everyone (that have been asked by one of the readers in the emails in the past). How do you monitor your low end virtual servers? My personal setup [...]]]></description>
			<content:encoded><![CDATA[<p>Well. Not much cheap deals going on at the moment nor do I have anything useful to write about. So here is just some questions to ask everyone (that have been asked by one of the readers in the emails in the past).</p>
<p><b>How do you monitor your low end virtual servers?</b></p>
<p>My personal setup needs to meet the following requirements:</p>
<ul>
<li>Centralised monitoring on multiple boxes, as I have servers with various sizes &#8212; from 32MB to 1.5GB memory. Need something that work for them all, and monitor from one single location.</li>
<li>Simple RRD of memory, bandwidth utilisation and load average will do.</li>
<li><em>Light weight</em> and use minimum amount of memory. Don&#8217;t want some crap coded in Ruby or Python that takes up 10MB memory just to monitor a cheap VPS with only 64MB to play around.</li>
</ul>
<p>So I ended up using <a href="http://www.cacti.net/">Cacti</a> + a few hand coded scripts. Cacti does need a bit hacks to do notification stuff when servers are down, but it&#8217;s in PHP so relatively easy to modify.</p>
<p>What do you guys use?</p>
<div style="display:none">38.107.179.230</div><hr/><div>Copyright &copy; <a href="http://www.lowendbox.com/">LowEndBox.com</a>. All Rights Reserved.</div>]]></content:encoded>
			<wfw:commentRss>http://www.lowendbox.com/blog/how-do-you-monitor-your-low-end-virtual-server/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>HyperVM and Kloxo Now Open Sourced, Hosted at LxCenter</title>
		<link>http://www.lowendbox.com/blog/hypervm-kloxo-opensource-lxcenter/</link>
		<comments>http://www.lowendbox.com/blog/hypervm-kloxo-opensource-lxcenter/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 10:06:09 +0000</pubDate>
		<dc:creator>LowEndAdmin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[hypervm]]></category>
		<category><![CDATA[kloxo]]></category>

		<guid isPermaLink="false">http://www.lowendbox.com/?p=302</guid>
		<description><![CDATA[Early in June I posted RIP KT Ligesh of LxLabs, as the owner of LxLabs passed away leaving behind two great products that pretty much created this &#8220;low end virtual server&#8221; industry &#8212; HyperVM and Kloxo (formerly known as LxAdmin). Their future were cloudy back then, but it appears that there is at least some [...]]]></description>
			<content:encoded><![CDATA[<p>Early in June I posted <a href="http://www.lowendbox.com/blog/rip-kt-ligesh-of-lxlabs/">RIP KT Ligesh of LxLabs</a>, as the owner of LxLabs passed away leaving behind two great products that pretty much created this &#8220;low end virtual server&#8221; industry &#8212; HyperVM and Kloxo (formerly known as LxAdmin). Their future were cloudy back then, but it appears that there is at least some hope.</p>
<p>Today I received an email from Arthur Thornton from <a href="http://lxcenter.org/">LxCenter</a>, the new home for the now-open-sourced HyperVM and Kloxo.</p>
<blockquote>
<p>They (HyperVM and Kloxo) will be open sourced when we release the vulnerability fix versions of both panels and we will continue to support them from then on.</p>
<p>The reason I want you to post this is because your site seems to be popular and I think there are many people still worried about the products and this could reassure them.</p>
<p>Another note is that they will be free to use completely. But the most important part is that they will live on, most likely in an AGPL license (off the record), rather than dying with Ligesh.</p>
</blockquote>
<p>Sounds like a <b>great</b> news to me. For the last month and half, the VPS scene has been hectic. Tons of half-baked control panel programmes flooded the market, and there are some open sourced ones trying to grab some shares as well. Although I doubt any is offering the functionality of HyperVM at its price point (otherwise it would be a clear winner by now). It is also a time to find out which hosts are one-man show and which ones are capable &#8212; from their strategies in developing custom in-house panel, or in migrating customers to new backend, etc.</p>
<p>Also note the clever choice of <a href="http://www.fsf.org/licensing/licenses/agpl-3.0.html">AGPL</a> which means those made customisations/enhancements and then deploy them onto public network must also contribute back. That would only mean good things to the community.</p>
<p>Well. I guess we just have to wait to find out.</p>
<div style="display:none">38.107.179.230</div><hr/><div>Copyright &copy; <a href="http://www.lowendbox.com/">LowEndBox.com</a>. All Rights Reserved.</div>]]></content:encoded>
			<wfw:commentRss>http://www.lowendbox.com/blog/hypervm-kloxo-opensource-lxcenter/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Using a Low End VPS as SeedBox Hosting</title>
		<link>http://www.lowendbox.com/blog/using-a-low-end-vps-as-seedbox-hosting/</link>
		<comments>http://www.lowendbox.com/blog/using-a-low-end-vps-as-seedbox-hosting/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 03:03:13 +0000</pubDate>
		<dc:creator>LowEndAdmin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[bittorrent]]></category>

		<guid isPermaLink="false">http://www.lowendbox.com/?p=282</guid>
		<description><![CDATA[Saw quite a few visitors coming from Whirlpool.net.au, an Australian community forum, from a post asking about seedbox hosting. Now, the term &#8220;seedbox&#8221; was foreign to me until a few months ago. According to this Wikipedia entry, A seedbox is a private dedicated server used for the uploading and downloading of digital files. Seedboxes generally [...]]]></description>
			<content:encoded><![CDATA[<p>Saw quite a few visitors coming from Whirlpool.net.au, an Australian community forum, from a <a href="http://forums.whirlpool.net.au/forum-replies.cfm?t=1241535">post asking about seedbox hosting</a>. Now, the term &#8220;seedbox&#8221; was foreign to me until a few months ago. According to <a href="http://en.wikipedia.org/wiki/Seedbox">this Wikipedia entry</a>,</p>
<blockquote><p>A seedbox is a private dedicated server used for the <b>uploading and downloading of digital files</b>. Seedboxes generally make use of the <b>BitTorrent protocol</b> for uploading and downloading, although they have also been used on the eDonkey2000 network. Seedboxes are usually connected to a high speed network, often with a throughput of 100 Mbit/s or more. Files are uploaded to a seedbox from other BitTorrent users, and from there they can be downloaded at high speeds to a user&#8217;s personal computer via the HTTP, FTP, SFTP, or rsync protocols.</p></blockquote>
<p>In another word, a server with fast and stable bandwidth to the Internet so owners can use it as step-stone to download files from P2P network, as traditionally ADSL or cable connection (and their modems) on a residential link is too unreliable to bring back hundreds and thousands of pieces of files you wish to download in a reasonable speed.</p>
<p>Now, are low end virtual servers good candidates for seedbox hosting? Before we get into that, I need to make it clear that <b>downloading copyrighted digital content without copyright holder&#8217;s consent is ILLEGAL</b> in many places in the world so don&#8217;t do it. I personally do not use bittorrent because I much prefer downloading the minimum-install Linux CD ISO from my local mirror, which is usually only around 150MB :)</p>
<p>Anyway. If you want to use a $5 VPS as a cheap seedbox, I guess the answer is <b>YES</b>. When I need to download stuff using bittorrent I&#8217;ll use <a href="http://libtorrent.rakshasa.no/">rTorrent</a> because (1) it&#8217;s in command line and you can run it inside screen (2) it uses relatively less memory than the Python reference client. If you are on OpenVZ/Virtuozzo-based VPS you&#8217;ll need to watch out for the TCP socket limit though.</p>
<pre class="code">
$ sudo cat user_beancounters | grep numtcpsock | awk '{print $4;}'
7999992
</pre>
<p>BT creates a massive number of TCP sockets and some providers might limit the TCP sockets you can have on your VE. Actually, it is a good idea to check your Terms and Conditions of Use before running a P2P client, because some providers explicitly forbid P2P traffic in their network.</p>
<p>HOWEVER, I would hate to share a server with someone running bittorrent though. Physical server IO is shared by all the virtual servers on it and apparently it is harder to limit IO than to throttle CPU usage. Due to the way bittorrent clients are designed, they are seeking, reading and writing <em>everywhere</em> on a big file. End result is that VPS running as seedbox hosting usually uses a lot of IO requests which affects other VPS on the same box (and we are not even talking about all the calculation needed to do checksum). So beware &#8212; you might be hated by your neighbours :)</p>
<div style="display:none">38.107.179.230</div><hr/><div>Copyright &copy; <a href="http://www.lowendbox.com/">LowEndBox.com</a>. All Rights Reserved.</div>]]></content:encoded>
			<wfw:commentRss>http://www.lowendbox.com/blog/using-a-low-end-vps-as-seedbox-hosting/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Replacing Big Fat Bash with Dash for Scripting</title>
		<link>http://www.lowendbox.com/blog/replacing-big-fat-bash-with-dash-for-scripting/</link>
		<comments>http://www.lowendbox.com/blog/replacing-big-fat-bash-with-dash-for-scripting/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 23:15:43 +0000</pubDate>
		<dc:creator>LowEndAdmin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[dash]]></category>

		<guid isPermaLink="false">http://www.lowendbox.com/blog/replacing-big-fat-bash-with-dash-for-scripting/</guid>
		<description><![CDATA[A while a go I looked at Bash replacements for interactive shells. Unfortunately for me, I am just getting too used to having Bash on the command line and can&#8217;t get myself used to other shells. However, interactive shell is one thing, and scripting shell is another. If your scripts are compatible with the original [...]]]></description>
			<content:encoded><![CDATA[<p>A while a go I <a href="http://www.lowendbox.com/blog/replacing-that-big-fat-bash/">looked at Bash replacements</a> for interactive shells. Unfortunately for me, I am just getting too used to having Bash on the command line and can&#8217;t get myself used to other shells.</p>
<p>However, interactive shell is one thing, and scripting shell is another. If your scripts are compatible with the original bourne shell, then you should try <a href="http://gondor.apana.org.au/~herbert/dash/">dash</a> instead of that big fat Bash! This morning I just discovered one of my Debian 5 VPS is <em>not</em> having <code>/bin/sh</code> linked to dash by default, so I &#8220;fixed&#8221; the problem, and here is the memory consumption result:</p>
<p>Before</p>
<pre class="code">
$ ps aux | grep /bin/sh
root      7473  0.0  0.1   2416  1156 ?        S    Feb12   0:00 /bin/sh /usr/bin/mysqld_safe
</pre>
<p>After</p>
<pre class="code">
$ ps aux | grep /bin/sh
root     15528  0.0  0.0   1632   520 ?        S    10:03   0:00 /bin/sh /usr/bin/mysqld_safe
</pre>
<p>Yup. 1/2 MB reclaimed. Just make sure your <code>/bin/sh</code> is linked to <code>dash</code>. If it&#8217;s not already the case, then for Debian/Ubuntu based systems</p>
<pre class="code">
# apt-get install dash
# dpkg-reconfigure dash
</pre>
<p>You also need to make sure all your scripts are compatible with sh/dash (which they ought to anyway).</p>
<div style="display:none">38.107.179.230</div><hr/><div>Copyright &copy; <a href="http://www.lowendbox.com/">LowEndBox.com</a>. All Rights Reserved.</div>]]></content:encoded>
			<wfw:commentRss>http://www.lowendbox.com/blog/replacing-big-fat-bash-with-dash-for-scripting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Replacing That Big Fat Bash</title>
		<link>http://www.lowendbox.com/blog/replacing-that-big-fat-bash/</link>
		<comments>http://www.lowendbox.com/blog/replacing-that-big-fat-bash/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 01:31:36 +0000</pubDate>
		<dc:creator>LowEndAdmin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[dash]]></category>
		<category><![CDATA[pdksh]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.lowendbox.com/blog/replacing-that-big-fat-bash/</guid>
		<description><![CDATA[It&#8217;s actually a tip from Lincoln, who emailed me last month: Another idea is to replace bash (~4M/instance) with pdksh (~1M/instance). It doesn&#8217;t sound like much, but if you&#8217;re like me and you&#8217;re have a half-dozen or more concurrent ssh sessions, plus you&#8217;re su&#8217;ed on a couple of them, etc&#8230; it can be a significant [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s actually a tip from Lincoln, who emailed me last month:</p>
<blockquote><p>Another idea is to replace <a href="http://www.gnu.org/software/bash/">bash</a> (~4M/instance) with <a href="http://www.cs.mun.ca/~michael/pdksh/">pdksh</a> (~1M/instance).  It doesn&#8217;t sound like much, but if you&#8217;re like me and you&#8217;re have a half-dozen or more concurrent ssh sessions, plus you&#8217;re su&#8217;ed on a couple of them, etc&#8230; it can be a significant help.</p></blockquote>
<p>Indeed. Bash, which is the default interactive shell on most (if not all) Linux distributions, has pretty much become <b>THE</b> user interface of the command line users. When I first used it in mid-90&#8242;s (on SunOS/Solaris), it was a great relief from the plain vanilla bourne shell, and was <em>much</em> better than the default shell back then, korn shell, IMHO. It was love at first sight.</p>
<p>However over the years she has just gone fatter, heavier and was getting more and more CPU intensive to start. It did not really bother me though, as my main computer has also grown in grunt&#8230; Not until are trying to run it on a small low end box!</p>
<p>pdksh seems to be quite a good replacement. It uses relatively less resource, has simple tab completion, has history (what else do you need from an interactive shell?) and has bourne shell style syntax (if csh/tcsh is not your thing).</p>
<p>If you are really extreme and thinking tab completion and command line history are for n00bs, also give <a href="http://gondor.apana.org.au/~herbert/dash/">dash</a> a try. Here&#8217;s a memory usage comparison:</p>
<pre class="code">
USER   PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root  8658  0.0  2.8   3788  1848 pts/0    S    20:42   0:00 bash
root  8732  0.2  0.7   1604   464 pts/0    S    20:44   0:00 dash
root  8733  0.0  0.8   2844   552 pts/0    S    20:44   0:00 pdksh
</pre>
<p>For me, I&#8217;ll stick with bash for now. You know, user interface is the thing that once you got used to, it&#8217;s hard to unattach yourself from (i.e. too old to learn new things). Good luck young padawans for picking up new light weight shells!</p>
<div style="display:none">38.107.179.230</div><hr/><div>Copyright &copy; <a href="http://www.lowendbox.com/">LowEndBox.com</a>. All Rights Reserved.</div>]]></content:encoded>
			<wfw:commentRss>http://www.lowendbox.com/blog/replacing-that-big-fat-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Rid of A in LAMP for Your Low End VPS</title>
		<link>http://www.lowendbox.com/blog/getting-rid-of-a-in-lamp-for-your-low-end-vps/</link>
		<comments>http://www.lowendbox.com/blog/getting-rid-of-a-in-lamp-for-your-low-end-vps/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 02:13:51 +0000</pubDate>
		<dc:creator>LowEndAdmin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[lighttpd]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[web server]]></category>

		<guid isPermaLink="false">http://www.lowendbox.com/blog/getting-rid-of-a-in-lamp-for-your-low-end-vps/</guid>
		<description><![CDATA[Got your dirt cheap VPS with only 64MB guaranteed memory on OpenVZ? Want to move your WordPress blog from some insanely oversold shared hosting to your shining low end box? If you follow the &#8220;traditional way&#8221; of setting up a Linux web server &#8212; installing Apache, MySQL and Mod_PHP &#8212; you will soon find that [...]]]></description>
			<content:encoded><![CDATA[<p>Got your dirt cheap VPS with only 64MB guaranteed memory on OpenVZ? Want to move your WordPress blog from some insanely oversold shared hosting to your shining low end box? If you follow the &#8220;traditional way&#8221; of setting up a Linux web server &#8212; installing Apache, MySQL and Mod_PHP &#8212; you will soon find that your site dying a horrible death, with pre-forked Apache processes killing themselves left and right. Or your entire Xen box descending into swapping hell before completely locking itself up.</p>
<p>So is it possible to host a low traffic PHP site on a low end VPS? <b>Yes</b>, but the first thing you need to do is <b>getting rid of the <a href="http://httpd.apache.org/">A</a> in <a href="http://en.wikipedia.org/wiki/LAMP_(software_bundle)">LAMP</a></b>.</p>
<p>While infinitely configurable, pre-forked Apache (which is required for mod_php) is not really scalable to suit low memory requirement. I won&#8217;t get into all the details, but there are several free/open source alternatives.</p>
<p>At LowEndBox, I am running <a href="http://www.lighttpd.net/">Lighttpd</a> + PHP in FastCGI mode. I am running 2x slave FastCGI process and it works quite well for 3x very low usage sites on this box, using less than 15MB of memory all together.</p>
<pre class="code">
# ps -u www-data u
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
www-data 27509  0.0  3.1   6672  2092 ?        S    11:50   0:00 /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
www-data 27510  0.0  7.3  16656  4848 ?        S    11:50   0:00 /usr/bin/php5-cgi
www-data 27512  1.1 11.9  16652  7868 ?        S    11:50   0:04 /usr/bin/php5-cgi
</pre>
<p>Installing them is easy &#8211;</p>
<pre class="code">
# apt-get install lighttpd php5-cgi
</pre>
<p>Then just install other PHP modules (MySQL, GD, etc). Here is a <a href="http://trac.lighttpd.net/trac/wiki/TutorialLighttpdAndPHP">comprehensive guide on running PHP on Lighttpd</a>, but on Debian/Ubuntu, you usually just need do:</p>
<pre class="code">
# ln -s /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-enabled
</pre>
<p>Make sure you edit the <code>10-fastcgi.conf</code> and (1) leave max-procs at <b>2</b> (2) reduce PHP_FCGI_CHILDREN to <b>1</b>. After starting the daemon, you&#8217;ll see 2x <code>php5-cgi</code> process running. With PHP 5.2.x it would not spawn a manager process. However, if you intend to use PHP op-code cache/accelerator, then it would be a good idea to change max-procs to <b>1</b> and PHP_FCGI_CHILDREN to <b>2</b> so that your 2 worker processes can share the cache (but you&#8217;ll see a 3rd php5-cgi process running as manager/dispatcher).</p>
<p>While it&#8217;s lighter and faster, Lighttpd does not offer as much functionality as Apache, nor as configurable. For applications that depend on Apache&#8217;s mod_rewrite capability, there is <em>usually</em> hacks and work-around for Lighttpd. For WordPress to get clean URL, just add</p>
<pre class="code">
server.error-handler-404 = "/index.php"
</pre>
<p>to your configuration file for your WP sites.</p>
<p>Another alternative web server that I&#8217;ve used for my other projects is <a href="http://nginx.net/">Nginx</a>. It uses slightly more memory (at least 7MB on 32bit Ubuntu) and does not support spawning CGI processes (so all FastCGI procs have to be external). A great piece software if you have very hight traffic site.</p>
<div style="display:none">38.107.179.230</div><hr/><div>Copyright &copy; <a href="http://www.lowendbox.com/">LowEndBox.com</a>. All Rights Reserved.</div>]]></content:encoded>
			<wfw:commentRss>http://www.lowendbox.com/blog/getting-rid-of-a-in-lamp-for-your-low-end-vps/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Reducing MySQL Memory Usage for Low End Boxes</title>
		<link>http://www.lowendbox.com/blog/reducing-mysql-memory-usage-for-low-end-boxes/</link>
		<comments>http://www.lowendbox.com/blog/reducing-mysql-memory-usage-for-low-end-boxes/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 01:46:27 +0000</pubDate>
		<dc:creator>LowEndAdmin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Tuning]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://www.lowendbox.com/blog/reducing-mysql-memory-usage-for-low-end-boxes/</guid>
		<description><![CDATA[MySQL is pretty much the de facto database engine for most open source scripts, and it is almost-always installed on hosted servers. However the default MySQL installation on Debian/Ubuntu takes around 25MB RSS on a cold-start. Well, not too bad I guess, unless you are running a tight ship with only 64MB of total memory. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mysql.com/">MySQL</a> is pretty much the <em>de facto</em> database engine for most open source scripts, and it is almost-always installed on hosted servers. However the default MySQL installation on Debian/Ubuntu takes around 25MB RSS on a cold-start. Well, not too bad I guess, <em>unless</em> you are running a tight ship with only 64MB of total memory. Depending on how important MySQL is to your stack, you might wish to bring the memory usage down so you can fit other applications in memory.</p>
<p>The easiest way is to start from an existing configuration file to bring down the memory usage, and then tune it to bring back adequate performance. On Debian/Ubuntu you might wish to replace your installed <code>/etc/mysql/my.cnf</code> with <code>my-small.cnf</code> that can be found in <code>/usr/share/doc/my-server-5.0/examples</code>. I am also attaching a <a href="http://www.lowendbox.com/media/mysql/my-lxadmin-centos.cnf">my.cnf here</a> that is taken out from CentOS 4 installation of <a href="http://lxlabs.com/software/lxadmin-sse/">LxAdmin</a> (which has been famous for its low-memory foot print). It is pretty much based on <code>my-small.cnf</code>. Some important notes:</p>
<ul>
<li>
<p><code>skip-bdb</code> and <code>skip-innodb</code> are added, so you don&#8217;t get BSD DB nor InnoDB support. BSD DB support in MySQL is pretty much obsolete, and many open source scripts don&#8217;t rely on the presence of InnoDB. A low end VPS is not likely to enjoy the concurrency InnoDB is offering anyway. Transaction and referential integrity? Real Programmers<sup>TM</sup> write their own rollback routines :)</p>
</li>
<li>
<p><code>key_buffer</code> is <em>only</em> 16K which is far from enough. <code>key_buffer</code> is pretty much one of the most important parameter for MyISAM tables and I usually bump it up to at least 1MB. The same can be said about <code>table_cache</code> &#8212; 4 is way too small. A WordPress page will likely touch 10 tables, and much more for apps like Drupal or MediaWiki.</p>
</li>
<li>
<p>Query cache <em>might</em> be a good thing if you intend to run a busy site on such a low end VPS (provided that it has small data set, mostly read, like blogs, news sites, etc). I have my <code>query_cache_limit</code> set to 256K and <code>query_cache_size</code> set to 4M here.</p>
</li>
</ul>
<p>After a few adjustment you should be able to start mysqld at around 5-6MB RSS. You might need to check the runtime variables to monitor the performance and how everything works out.</p>
<div style="display:none">38.107.179.230</div><hr/><div>Copyright &copy; <a href="http://www.lowendbox.com/">LowEndBox.com</a>. All Rights Reserved.</div>]]></content:encoded>
			<wfw:commentRss>http://www.lowendbox.com/blog/reducing-mysql-memory-usage-for-low-end-boxes/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Replacing OpenSSH with Dropbear</title>
		<link>http://www.lowendbox.com/blog/replacing-openssh-with-dropbear/</link>
		<comments>http://www.lowendbox.com/blog/replacing-openssh-with-dropbear/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 23:48:11 +0000</pubDate>
		<dc:creator>LowEndAdmin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[dropbear]]></category>
		<category><![CDATA[openssh]]></category>

		<guid isPermaLink="false">http://www.lowendbox.com/?p=35</guid>
		<description><![CDATA[When you are using a low-end server with only 64MB of memory, sometimes you just have to look for alternate software packages with less bloat to leave more memory for your (often more bloated) applications. OpenSSH is the essential application on a Linux/xBSD server, however I think it is eating up one or two more [...]]]></description>
			<content:encoded><![CDATA[<p>When you are using a low-end server with <em>only</em> 64MB of memory, sometimes you just have to look for alternate software packages with less bloat to leave more memory for your (often more bloated) applications. <a href="http://www.openssh.org/">OpenSSH</a> is <b>the</b> essential application on a Linux/xBSD server, however I think it is eating up one or two more megabytes of memory than it should, and it can be easily replaced by a lighter weight SSH server like <a href="http://matt.ucc.asn.au/dropbear/dropbear.html">Dropbear</a>.</p>
<p>On a Ubuntu 7.10 x86 server running OpenSSH:</p>
<pre class="code">
$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      2052  0.0  0.2   5288   996 ?        Ss   Mar25   0:00 /usr/sbin/sshd
root     21819  0.2  0.7   8168  2700 ?        Ss   10:28   0:00 sshd: user@pts/0
user     21836  0.0  0.4   8044  1748 ?        S    10:29   0:00 sshd: user@pts/0
...
</pre>
<p>On a Debian 4 x86 server running Dropbear:</p>
<pre class="code">
$ ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1344  0.0  1.3   2648   864 ?        Ss   10:28   0:00 /usr/sbin/xinetd
root      1347  0.2  1.8   4216  1220 ?        Ss   10:29   0:00 dropbear -i -g
...
</pre>
<p>As you can see it is quite a bit of saving, especially if you operates a shell service where lots of people logging in (or use sftp/scp) at the same time. Also note that:</p>
<ul>
<li>While Dropbear can be used as a standalone server, I am using it with xinetd so it uses even less memory (I am also running xinetd for a few other services).</li>
<li>If you log in as a non-root user, OpenSSH spawns two processes but Dropbear spawns only one.</li>
</ul>
<p>Dropbear does have a few issues (terrible performance with <a href="http://www.sftpdrive.com/">SftpDrive</a>, fewer features and options, etc), but it feels as good as OpenSSH for server administration but uses half amount of memory.</p>
<div style="display:none">38.107.179.230</div><hr/><div>Copyright &copy; <a href="http://www.lowendbox.com/">LowEndBox.com</a>. All Rights Reserved.</div>]]></content:encoded>
			<wfw:commentRss>http://www.lowendbox.com/blog/replacing-openssh-with-dropbear/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>

