1、添加Swap分區

內存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左右