Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。swap分区在非高内存的服务器上必不可少,但是swap不能充当内存使用。
一、swap分区扩展的方法
- 新建swap分区:以分区的形式创建swap
- 新建swap file:以文件的形式创建swap
分区与file的区别:文件可以随时扩大缩小,可以随时移动。分区不行。
二、以分区的形式扩展swap
1.首先用磁盘管理工具fdisk打开磁盘,然后将新建的分区/dev/sda6的ID更改为82,然后保存退出。
2.退出后会提示警告,这是因为分区表没有同步到内存中时,使用partprobe将磁盘中的分区表同步到内存中。
3.格式化swap分区并启用swap分区
- [root@centos7 ~]$mkswap /dev/sda6 #格式化swap分区
- [root@centos7 ~]$swapon -a #激活所有swap分区
4.使用lsblk确认已经有两个swap
5.使用swapon -s查看所有的swap分区,此时swap分区已经扩展1G。
free可以看到内存与swap的使用情况
6.配置自动挂载,将swap分区写入/etc/fstab使其可以再开机自动挂载。UUID为/dev/sda6分区的UUID可以通过blkid /dev/sda6查看UUID。这里要注意UUID不能添加双引号。
添加完后mount -a立即更新
三、以文件的形式创建swap
1.首先要有一个分区,此分区的剩余空间要比计划的swap空间大。我这里以sda7做演示。分区也可以时现有的分区
2.创建一个挂载点,然后将分区挂载到挂载点。并进入到此分区
3.创建一个文件,用于创建swap分区。count=1024代表此文件为1G
4.mkswap swapfle将文件格式化为swap格式,然后使用blkid swapfile查看文件格式是否为swap
5.设置自动挂载。vim /etc/fstab写入swapfile的UUID等信息。mount -a自动挂载立即生效
6.swapon -a 激活所有的swap分区。提示文件权限为0644不安全,所以我改为600.
7.swapon -s查看所有swap分区使用情况。***一个类型为file的就是刚刚创建好的文件式swap
四、总结
- swap分区只能作为内存不够时的暂时应急,不能直接替代内存使用。
- 文件式swap:可以随时改变大小,可以移动至其他分区
- 分区式swap:不能更改大小,不能移动