我用 LinuxLinux学习|Gentoo/Arch/FreeBSD运维

VPS内存太小怎么办?Linux下添加Swap分区

2016-04-06  本文已影响1719人  zormin

在 Linux 中,Swap 分区相当于 Windows 的虚拟内存,如果 VPS 内存较小可以添加 Swap,把硬盘当内存用。

注意:OpenVZ 无法自行添加 Swap 分区。

一. 检查 Swap 空间

swapon -s
如果返回的信息为空,则表示 Swap 文件不存在,可以添加。

二. 创建并允许 Swap 文件

dd if=/dev/zero of=/home/swapfile bs=1024 count=1024k
参数解读:
if=文件名:输入文件名。即指定源文件。
of=文件名:输出文件名。即指定目的文件。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。
count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。

三. 格式化并激活 Swap 文件

  1. 格式化 Swap。
    mkswap /home/swapfile
  2. 激活 Swap。
    swapon /home/swapfile

以上步骤做完,再次运行命令:
swapon -s
返回信息如下:
Filename Type Size Used Priority
/home/swapfile file 1048572 0 -1
证明 Swap 分区初步配置完成。

四. 配置 fstab 开机挂载

配置 fstab 后可实现开机自动挂载 Swap 分区的功能。
用 vim 打开 /etc/fstab 文件,
sudo vim /etc/fstab
在其最后添加如下一行:
/home/swapfile swap swap defaults 0 0
然后输入:w回车保存并退出。
最后,赋予 Swap 文件适当的权限:

chown root:root /home/swapfile 
chmod 600 /home/swapfile

五. 配置 swappiness (可选)

此外,我们还可以通过修改 Swap 的 swappiness 参数来控制 Linux 使用 Swap 的程度。

在 CentOS/Ubuntu 中,swappiness 的值可以通过以下命令可以看到:
cat /proc/sys/vm/swappiness
返回值为60。
我们可以调整 swappiness 的值到一个合适的参数,从而达到最优化使用 Swap 的目的。这里我们可以将其设为10。

六. 总结

把以下命令敲一遍即可添加好 Swap 分区。

swapon -s
dd if=/dev/zero of=/home/swapfile bs=1024 count=1024k
mkswap /home/swapfile
swapon /home/swapfile

配置开机挂载:

sudo vim /etc/fstab
/*最后一行添加*/
/home/swapfile        swap        swap      defaults      0 0

设置权限

chown root:root /home/swapfile
chmod 600 /home/swapfile

配置 swappiness (可选)

sudo vim /etc/sysctl.conf
/*最后一行添加*/
vm.swappiness=10
/*保存退出即可。*/

七. 参考链接

https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-centos-6
http://www.cmsky.com/linux-add-swap/

上一篇 下一篇

猜你喜欢

热点阅读