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


8

由于托管公司计划淘汰不太可靠的共享托管服务器,因此我们公司的网站刚刚从共享主机迁移到VDS。

VDS仅具有256MB的RAM,并承载几个站点,除了一个站点以外,其他所有站点都是非常简单的静态站点,只有几页,并且每天总共接待不到20-30位访问者。

我们的主站点运行某种程度上是OSCommerce的定制版本,该站点的流量也很少(很少有10个以上的并发用户),但确实需要MySQL。不幸的是,由于移动mysqld由于内存不足而不断崩溃。我已经对Apache配置进行了一些编辑(以减少线程数)以减轻负载,但这只是回避了实际问题。

服务器没有交换空间,但是它确实比我们需要的磁盘空间大得多,因此我正在考虑将其中一些空间用于交换。我知道这并不能完全提高性能,但是我们可以接受。

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

更新:对于任何可能对结果感到疑惑的人,由于实现了Quanta所描述的交换文件,服务器不仅稳定,而且没有mysqld崩溃,它实际上比以前更快地处理页面。性能上的提高与我的预期相反,但我很高兴在这种情况下犯错了。

Answers:


15

假设您要创建512MB交换文件:

# 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 -m


不需要重启吗?
约翰·加迪尼尔

3
当然,不需要重新启动。已通过激活swapon
量子
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.