Linux 创建交换分区swap的两种方法
一、什么是SWAP
SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.它和Windows系统的交换文件作用类似。
一般来说,目前根据大多人的一个普遍认知,建议交换内存的大小为物理内存的 1-2 倍。也就是说如果你有 2GB 内存, 那么交换空间大小应该介于2-4 GB。
若系统中没有配置交换分区,当物理内存耗尽后,系统可能会杀掉正在运行中的进程,从而导致系统崩溃。这里就给大家带来两种设置方法:
1.物理硬盘创建swap分区
2.生成swap文件(常用方法)
二、方法介绍
这里就是在物理磁盘中创建一个分区,用来作为swap交互分区。 通常系统的第一块硬盘会被命名为/dev/vda,同时这块磁盘的分区会命名为/dev/vda1 、/dev/vda2 等,这里就先假设我们创建了一个/dev/vda3 的分区,并用这个分区来作为swap交互分区。 关于如何分区可以参考之前的文章《CentOS 系统的 VPS 首次如何分区并挂载数据盘》 的部分内容。
使用mkswap命令格式化这个分区:
mkswap /dev/vda3
激活交换分区:
swapon /dev/vda3
最后,将交换分区信息写入fstab文件,以便开机自动挂载:
echo "/dev/vdb3 swap swap defaults 0 0" >> /etc/fstab
博主推荐用这种方法,因为这个是最简单、最快速的创建swap交换空间的方法,当然也是最常见的方法了。
PS:有的同学可能要问为什么不用DD命令? emmm...这个嘛,这是博主最近才来了解的fallocate这个命令,貌似还是比较好用的。其实原理基本都差不多,就是创建一个文件块。
首先使用fallocate命令,创建一个文件:swapfile,文件名称、路径、大小可以自行设置,这里就放在根目录 / 下了。使用命令创建一个2G的文件:
fallocate -l 2G /swapfile
查看下创建的文件大小是否和设置的一致:
ls -lh /swapfile
更改文件的权限:
chmod 600 /swapfile
同样,使用mkswap命令格式化,虽然这个swapfile是个文件,但是我们把它当成是分区来挂载:
mkswap /swapfile
启用激活交换分区:
swapon /swapfile
最后,也是将交换分区信息写入fstab文件,以便开机自动挂载:
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab
.