最近准备转archlinux作为主力开发系统使用。当时在安装archlinux偷懒没有配置Swap分区,当初认为16G内存应该已经足够使用了。实际使用的过程让我意识到Swap空间还是有意义的。那么系统安装时间没有配置Swap,后面补还有机会吗?
查询 Swap情况Swap空间大小一般设置为一般为内存的1.5倍。(root权限)查询当时Swap分区设置情况。 命令:
swapon -s
我这里没有Swap,查出来就是空的。 命令执行结果:
root@archlinux: /home/itkey # swapon -s
root@archlinux: /home/itkey #
或者使用free工具来查看内存和Swap情况。 命令:
free -m
命令执行结果:
root@archlinux: /home/itkey # free -m
total used free shared buff/cache available
内存: 15620 1207 12546 817 1866 13306
交换: 0 0 0
这里显示我的交换空间是空的。
创建Swap文件接下来我们将在文件系统上创建swap文件。我们要在根目录/下创建一个名叫swapfile的文件,当然你也可以选择你喜欢的文件名。该文件分配的空间将等于我们需要的swap空间。 一般 内存的 1.5倍以上就好了。也可以根据安装程序的提示来。 root执行以下命令,创建swap分区。
#创建swap文件 bs=23430的设置的值一般为内存的1.5倍以上 (我这里15620*1.5)
dd if=/dev/zero of=/var/swap bs=23430 count=1000000
执行结果如下:
root@archlinux: /var # dd if=/dev/zero of=/var/swap bs=23430 count=1000000
输入了 1000000+0 块记录
输出了 1000000+0 块记录
23430000000 字节 (23 GB, 22 GiB) 已复制,8.8894 s,2.6 GB/s
然后执行以下命令:
#需要更改swap文件的权限,确保只有root才可读
chmod 600 /var/swap
#告知系统将该文件用于swap
mkswap /var/swap
#开始使用该swap
swapon /var/swap
#使Swap文件永久生效,/etc/fstab加入配置
echo "/var/swap swap swap sw 0 0" >> /etc/fstab
我的执行结果如下 :
root@archlinux: ~ # #需要更改swap文件的权限,确保只有root才可读
chmod 600 /var/swap
#告知系统将该文件用于swap
mkswap /var/swap
#开始使用该swap
swapon /var/swap
#使Swap文件永久生效,/etc/fstab加入配置
echo "/var/swap swap swap sw 0 0" >> /etc/fstab
正在设置交换空间版本 1,大小 = 21.8 GiB (23429992448 个字节)
无标签,UUID=a087255d-f7fd-4796-8fb5-950e789cb305
这个时候我们在来查一下
root@archlinux: ~ # free -m
total used free shared buff/cache available
内存: 15620 1277 278 792 14065 13213
交换: 22344 0 22344
发现我们的交换空间已经有了。
删除Swap文件如果上面创建后发现,大小创建错误了。如何重置呢?
swapoff -a
rm /var/swap
上面命令就可以删除了,然后重新创建合适的swap文件就行了。