1、添加Swap分區
使用dd命令創建名爲swapfile 的swap交換文件(文件名和目錄任意):
dd if=/dev/zero of=/var/swapfile bs=1024 count=4194304 1
dev/zero是Linux的一種特殊字符設備(輸入設備),可以用來創建一個指定長度用於初始化的空文件,如臨時交換文件,該設備無窮盡地提供0,可以提供任何你需要的數目。
bs=1024 :單位數據塊(block)同時讀入/輸出的塊字節大小爲1024 個字節即1KB,bs(即block size)。
count = 4194304 表示的是4G
具體計算公式爲:1KB * 4194304 =1KB *1024(k)*1024*4 = 4194304 =4G
如果小夥伴需要調整交換區的大小的話,可以自行設置其他的
執行完命令後,會進行4G讀寫操作,所以會有一些卡頓,小夥伴耐心等待
當然不一定需要4G,後面我經過測試,增加2G的虛擬內存就可以正常運行蘑菇博客了,所以我們只需要配置2G即可~!
2、對交換文件格式化並轉換爲swap分區
mkswap /var/swapfile1
3、掛載並激活分區
swapon /var/swapfile1
執行以上命令可能會出現:“不安全的權限 0644,建議使用 0600”類似提示,不要緊張,實際上已經激活了,可以忽略提示,也可以聽從系統的建議修改下權限:
chmod -R 0600 /var/swapfile1
4、查看新swap分區是否正常添加並激活使用
free -h1
5、修改 fstab 配置,設置開機自動掛載該分區
echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab1
6、查看是否已經使用了交換內存
free
我們能夠看到,交換空間已經成功被使用
7、停止正在使用swap分區
swapoff /var/swapfile1
8、刪除swap分區文件
rm -rf /var/swapfile1
vim /etc/fstab#把下面內容刪除/var/swapfile swap swap defaults 0 01234
9、更改Swap配置
一般默認的情況,當我們開啓交換虛擬內存空間後,默認好像是當內存使用百分50的時候,就會開始使用交換空間,這樣就會造成一個情況,就是本身物理內存還沒有使用完成, 卻使用虛擬內存,這樣肯定會影響我們的使用效率,那麼我們怎麼避免這個情況的發生呢?
答案就是:可以通過swappiness值進行管理,swappiness表示系統對Swap分區的依賴程度,範圍是0~100,數值越大,依賴程度越高,也就是越高越會使用Swap分區。
所以,我們現在並不希望我們的機器過度依賴Swap分區,只有當我們 負載超過某個百分比的時候,才使用交換空間,所以這也決定了,我們這個值並不是非常大,一般設置 10 ~50 左右。
當然如果小夥伴的是SSD的話,那麼這個值可以稍微大一些。
下面我們查看當前的swappiness數值:
cat /proc/sys/vm/swappiness1
修改swappiness值,這裏以10爲例:
sysctl vm.swappiness=101
設置永久有效,重啓系統後生效
echo "vm.swappiness = 10" >> /etc/sysctl.conf1
我們最後再次通過top命令,能夠查看到,交換空間已經被使用了,物理內存也大概佔用了百分90左右