在运行的Linux机器上创build交换文件

我们公司的网站刚刚从共享主机转移到VDS,因为托pipe公司计划淘汰不完全可靠的共享主机服务器(s)。

VDS只有256MB内存,只有几个网站,除了其中一个网站是非常简单的静态网站,只有几页,每天只有20-30人不到。

我们的主站点运行的是一个定制版本的OSCommerce,stream量也很低(很less有超过10个并发用户),但是需要MySQL。 不幸的是,由于移动mysqld由于内存不足而一直崩溃。 我已经编辑了一些Apacheconfiguration(以减less线程数)来减轻负载,但这只是回避了真正的问题。

服务器没有交换空间,但是磁盘空间确实比我们需要的要多得多,所以我正在考虑使用一些空间进行交换。 我知道这不会完全有助于performance,但我们可以忍受。

如何创build交换文件并在服务器运行时启用它? 操作系统是CentOS 5.5(最后),Linux不是我的母语。

更新:对于任何可能对结果感到疑惑的人来说,由于按照quanta描述的方式实现交换文件,服务器不仅稳定,不再有mysqld崩溃,实际上它比以前更快地提供页面。 性能增益与我所预期的相反,但我很高兴在这种情况下出错。

假设你想创build512MB交换文件:

# dd if=/dev/zero of=/swapfile bs=1024 count=524288 

安装交换区域:

 # mkswap /swapfile 

激活它:

 # swapon /swapfile 

添加到/etc/fstab永久:

 echo -e "/swapfile\t\tswap\t\tswap\t\tdefaults\t0 0" >> /etc/fstab 

并用free -mvalidation。