我们公司的网站刚刚从共享主机转移到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。