1、查看目前內存配置情況
第一種方法:運行free -h
image.png
可以看到swap部分參數都爲0,即沒有配置
第二種方法:運行 swapon -s
如果沒有任何輸出,則代表沒有配置
2、創建文件
運行df -h,查看硬盤空間使用情況,確保有足夠的空間
image.png
創建緩存文件
網上有很多方法,例如:sudo fallocate -l 2G /swapfile,
但是容易報錯:fallocate: /swapfile: fallocate failed: Operation not supported
目前未找到原因,所以只好用另一種方式:
運行:dd if=/dev/zero of=/var/swap bs=1024 count=2048000
if 表示infile,of表示outfile,bs=1024代表增加的模塊大小,count=2048000代表2048000個模塊,也就是2G空間
執行時間較長,且根據文件大小而定,耐心等待 ...image.png
3、啓用swap
mkswap /var/swap
mkswap -f /var/swap
swapon /var/swap
再運行free -m查看swap是否已啓用,
但是到這一步,只是臨時swap,需要再配置fstab使swap文件永久有效
4、設置swap文件永久有效
運行vi /etc/fstab
/var/swap swap swap defaults 0 0
重啓檢查是否已完成配置
5、取消swap
1)查看swap文件位置
[root@iZwz93t5hvwgq7l1r5y8cmZ /]# swapon -s
Filename Type Size Used Priority
/var/swap file 8191996 0 -2
2)取消swap、刪除文件
swapoff /var/swap
rm -rf /var/swap
3)檢查
[root@iZwz93t5hvwgq7l1r5y8cmZ /]# free -h
total used free shared buff/cache available
Mem: 7.6G 2.7G 174M 1.1M 4.7G 4.6G
Swap: 0B 0B 0B
6、更改Swap配置(依賴度)
1)查看依賴度
[root@iZwz93t5hvwgq7l1r5y8cmZ var]# cat /proc/sys/vm/swappiness
0
swappiness值的範圍爲0-100,值越高代表對swap依賴程度越高,但是swap是基於文件儲存的緩存交換機制,所以效率明顯低於物理內存,swappiness值過高的情況下容易導致物理內存遠遠沒有耗盡便開始使用swap;一般來說swappiness值可以設置爲10-60,ssd可以設置的高一點;
2)修改當前swappiness值爲15,重啓後失效
sysctl vm.swappiness=15
3)更改系統配置值,重啓後依舊有效
echo "vm.swappiness = 15" >> /etc/sysctl.conf