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