Swap 是 Linux 下的交换分区,类似 Windows 的虚拟内存,当物理内存不足时,系统可把一些内存中不常用到的程序放入 Swap,解决物理内存不足的情况。
若系统安装时开辟的 Swap 空间太小,可通过手动创建 Swap 文件。, 发现没有 swap 交换空间。
添加 swap 交换空间的步骤如下:
第一步:确保系统中有足够的空间来用做 swap 交换空间,我使用的是阿里云 VPS, 准备在一个独立的文件系统中添加一个 swap 交换文件,在 /var/swap 中添加 2G 的 swap 交换文件
第二步:添加交换文件并设置其大小为 2G,使用如下命令
[root@vpswe ~]# dd if=/dev/zero of=/var/swap bs=1M count=2048
过段时间就返回如下结果:
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 45.6572 s, 47.0 MB/s
第三步:创建(设置)交换空间,使用命令 mkswap。
[root@vpswe ~]# mkswap /var/swap
结果
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=c919c5aa-645a-43e6-9006-dbdeba1c995f
第四步:检查现有的交换空间大小,使用命令 free
[root@vpswe ~]# free -m
total used free shared buffers cached
Mem: 1011 989 21 0 1 875
-/+ buffers/cache: 112 898
Swap: 0 0 0
或者检查 meminfo 文件
grep SwapTotal /proc/meminfo
第五步:启动新增加的 2G 的交换空间,使用命令 swapon
[root@vpswe ~]# swapon /var/swap
第六步: 确认新增加的 2G 交换空间已经生效,使用命令 free
[root@vpswe ~]# free -m
total used free shared buffers cached
Mem: 1001 929 71 0 23 736
-/+ buffers/cache: 169 831
Swap: 2047 0 2047
或者检查 meminfo 文件
grep SwapTotal /proc/meminfo
第七步:修改 /etc/fstab 文件,使得新加的 2G 交换空间在系统重新启动后自动生效
在文件最后加入:
echo '/var/swap swap swap defaults 0 0' >> /etc/fstab
注:ubuntu12.04 不支持 barrier,所以正确写法是:
echo '/var/swap swap swap defaults barrier=0 0 0' >> /etc/fstab
然后使用 cat /etc/fstab 命令查看, 到此系统的 swap 交换空间添加成功。
############## 附 swapoff 说明 ##############
[root@vpswe ~]# swapoff --help
Usage:
swapoff -a [-v] disable all swaps(禁用所有 swap)
swapoff [-v] disable given swap
swapoff -h display help
swapoff -V display version
正文完