brgsstm wrote:
I am under the impression that any usage of swap is undesirable?
No, there's nothing wrong with
using swap, especially if you have a lot of RAM left. The kernel sometimes uses swap even when there's plenty of RAM left, because Linus Torvalds is a genius who knows how to optimize everything.
What is undesirable is
thrashing swap. Thrashing happens when you run out of physical RAM. You can usually tell when your server is thrashing, because the red line in your I/O graph will go through the roof.
The guide you linked to doesn't seem to have been written with PHP in mind. ServerLimit/MaxClients 64 could make you thrash if you ever get decent traffic. Cut it to less than 20.
Also, if you have a significant amount of data in your MySQL databases, you might want to increase key_buffer and sort_buffer. The numbers in the guide are suitable for tiny servers with double-digit MB of RAM. On a Linode 512, 16M/1M is perfectly fine, and might even help reduce disk I/O.
I don't think /etc/my.cnf is the proper location for the MySQL configuration file. Isn't it /etc/mysql/my.cnf ? If thread_stack is not already in that file, don't bother adding it. As I said, the MySQL part of the guide seems to have been written for servers much smaller than a Linode 512.
Finally, KeepAlive 25 is really high. Your pages will probably finish loading in 1.5 seconds, after which the connection will sit idle, doing nothing. Apache works perfectly fine with no KeepAlive or very low KeepAlive (2-5 seconds).