swap是linux的交换分区,作用: ‘提升‘ 内存的容量,防止OOM(Out Of Memory)即常说的虚拟内存。在内存使用很大时,能缓解服务器压力,避免崩溃,增强稳定性。但是,很多时候我们装机的时候并没有考虑到,没有划分swap分区,这里记录一下在系统内,增加swap虚拟内存的方法,增加swap,有两种选择,可以使用交换分区,也可以用交换文件。
推荐是,使用交换分区,新增一个交换分区,可以基于lvm新增一个逻辑分区用于swap,然后挂载这个逻辑分区作为虚拟内存。没有使用交换文件,这是更通用的。
使用交换文件:
1.使用dd命令创建名为swapfile 的swap交换文件(文件名和目录任意
$ dd if=/dev/zero of=/var/swapfile bs=1024 count=2097152 # bs=1024,则count 的单位为kb,那么这里时创建大小为2G的swap交换分区
或
$ dd if=/dev/zero of=/swap2.img bs=1M count=2048
或者
$ dd </dev/zero >/swap2.img bs=1M count=2048
$ mkswap /var/swapfile # 对交换文件格式化并转换为swap分区
$ swapon /var/swapfile # 挂载并激活分区
$ swapon -a # 挂载并激活所有交换分区
$ echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab # 修改 fstab 配置,设置开机自动挂载该分区
ok,这样就增加了,用free 命令即可看到swap分区了
2.删除swap分区的话,反着来就行了
$ swapon -s # 查看交换分区文件
$ cat /proc/swaps # 查看交换分区文件
$ swapoff /var/swapfile # 关闭分区
$ rm -rf /var/swapfile # 删除分区文件
$ vim /etc/fstab # 编辑fstab 文件,删除或注释掉我们之前在fstab文件里追加的开机自动挂载配置内容
------------------------------------------------------
#/var/swapfile swap swap defaults 0 0
---------------------------------------------------------
使用交换分区:
增加交换分区
可以是基本分区,LVM,File
1. 准备分区
[root@server0 ~]# fdisk /dev/vdb (t转换分区的ID 82)
[root@server0 ~]# partprobe /dev/vdb
[root@server0 ~]# ll /dev/vdb*
brw-rw----. 1 root disk 253, 16 12月 6 10:18 /dev/vdb
brw-rw----. 1 root disk 253, 17 12月 6 10:18 /dev/vdb1
2.初始化
[root@server0 ~]# mkswap /dev/vdb1
3.挂载
[root@server0 ~]# blkid /dev/vdb1
/dev/vdb1: UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" TYPE="swap"
[root@server0 ~]# vim /etc/fstab
UUID="ea5b1c77-e540-463c-9644-0d75450f8b4c" swap swap default 0 0
[root@server0 ~]# swapon -a (读取/etc/fstab)
[root@server0 ~]# swapon -s
Filename Type Size Used Priority
/dev/vdb1 partition 524284 0 -1