参考:digitalocean | ArchWiki
Swap可以在系统的物理内存(RAM)不够用的时候,把硬盘内存(ROM)中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
启用Swap是个人偏好的问题:有些人更喜欢杀死进程而不是启用Swap,而有的人更喜欢在系统内存(RAM)耗尽的时候使用较慢的Swap。
启用Swap的缺点是其性能较低(就目前而言ROM的读取速率是肯定不如RAM的)
这里我用Centos7.9来做演示:
bs是每块的大小,count是块的数量;bs乘count,就是swap文件的大小:我这里1M*2048=2G。你可以根据需要自行调整。
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1MiB
我们在上面那一步就已经把Swap文件给创建好了,但是操作系统是个傻子,不知道这将用于Swap。所以,我们需要告诉系统这个文件是作为Swap使用的,然后启用它。安全起见,在启用它之前咱们需要调整Swap文件的权限,以便除了root账户之外的账户都无法读取它
sudo chmod 600 /swapfile
设置好了后我们格式化Swap文件
sudo mkswap /swapfile
然后我们的文件就可以用于Swap了,我们现在只需要启用它
sudo swapon /swapfile
然后验证一下是否启用成功
swapon -s
不出意外的话我们应该能看到一个新的Swap文件,我们可以用这个命令来证明它已经使用了
free -m
此时,我们的Swap已经设置成功了!操作系统会根据需要来使用它。
我们的Swap文件已经启用了,但是你重启后可能会发现操作系统不会自动启用Swap文件并使用它。当然,这个也是有解决办法的啦!我们只需要修改fstab文件就可以让操作系统子东启用它了!
先打开这个文件(你可以使用你用着顺手的软件来打开它)
sudo vi /etc/fstab
然后在最后一行加上
/swapfile swap swap sw 0 0
完事儿后然后输入保存退出