Centos7 開啟swap分區
前言

前陣子買了阿里云的云的優惠服務器,4年只要200+,只是無奈內存太小,只有2G,所以想著開啟swap的分區來代替內存使用,但是當我開啟后,發現swap的使用率一直是0,如下圖所示,通過查找資料發現雖然是已經配置了swap,但是沒開啟swap分區;且centos默認不會開啟swap分區;
使用的系統環境為:centos 7.9 2核2G
什么是swap分區
Swap分區在系統的物理內存不夠用的時候,把硬盤內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap分區中,等到那些程序要運行時,再從Swap分區中恢復保存的數據到內存中。
開整
剛剛說到centos默認不會開啟swap分區,如有需要,需要自行開啟
阿里當前的做法是:
不創建swap分區,由鏡像決定
將vm.swappiness設定為0,vm.swappiness 值為 0 時,表示最大限度地使用物理內存,物理內存使用完畢后,才會使用 swap 分區,值為 100 時,表示積極地使用 swap 分區,并且把內存中的數據及時地置換到swap分區
開啟swap分區
新建一個專門的文件用于swap分區
dd if=/dev/zero of=/data/swap bs=1M count=2048
1
注:此文件的大小是count的大小乘以bs大小,上面命令的大小是1M * 2048 = 2GB
通過mkswap命令將上面新建出的文件做成swap分區
mkswap /data/swap
1
若vm.swappiness為0則根據實際需要調整成30或者60
# 查看參數 cat /proc/sys/vm/swappiness sysctl -a | grep swappiness # 設置 vm.swappiness sysctl -w vm.swappiness=60
1
2
3
4
5
6
注:若想永久修改,則編輯/etc/sysctl.conf文件
修改 /etc/sysctl.conf 文件中的 vm.swappiness 的值然后 使之永久生效
vim /etc/sysctl.conf
1
將vm.swappiness的值改為60,表示使用60%使用swap分區
vm.swappiness=60
1
保存退出,并執行以下命令使其永久生效
sysctl -p
1
# 開啟某個swap分區 swapon /data/swap echo "/data/swap swap swap defaults 0 0" >> /etc/fstab # 開啟所有swap 分區 swapon -a
1
2
3
4
5
6
關閉swap分區
swapoff /data/swap swapoff -a >/dev/null
1
2
測試
配置完成后,可以看到,swap分區已經被使用了
CentOS
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。