Linux中Swap(即:交換分區),相似於Windows的虛擬內存,就是當內存不足的時候,把一部分硬盤空間虛擬成內存使用,從而解決內存容量不足的狀況。linux
sudo fallocate -l 1G /swapfile
若是faillocate
未安裝或者您收到錯誤消息,fallocate failed: Operation not supported
則能夠使用如下命令建立交換文件:服務器
sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576
只有 root 用戶才能寫入和讀取交換文件,要設置正確的權限類型:app
sudo chmod 600 /swapfile
使用該 mkswap
實用程序將文件設置爲Linux交換區域:post
sudo mkswap /swapfile
使用如下命令激活交換文件:翻譯
sudo swapon /swapfile
要使更改永久打開/etc/fstab
文件並附加如下行:code
/swapfile swap swap defaults 0 0
要驗證交換是否處於活動狀態,咱們能夠使用swapon
或free
命令,以下所示:內存
sudo swapon --show
輸出get
NAME TYPE SIZE USED PRIO /swapfile file 1024M 507.4M -1
sudo free -h
輸出io
total used free shared buff/cache available Mem: 488M 158M 83M 2.3M 246M 217M Swap: 1.0G 506M 517M
Swappiness是一個Linux內核屬性,用於定義系統使用交換空間的頻率。Swappiness能夠具備0到100之間的值。較低的值將使內核儘量避免交換,而較高的值將使內核更積極地使用交換空間。sed
默認的swappiness值爲60.您能夠經過鍵入如下命令來檢查當前的swappiness值:
cat /proc/sys/vm/swappiness
輸出
60
雖然桌面能夠使用60的swappiness值,但對於生產服務器,您可能須要設置較低的值。
例如,要將swappiness值設置爲10,請鍵入:
sudo sysctl vm.swappiness=10
要使此參數在從新引導後保持不變,請將如下行附加到該/etc/sysctl.conf
文件:
vm.swappiness=10
最佳swappiness值取決於您的系統工做負載以及內存的使用方式。您應該以小增量調整此參數以查找最佳值。
若是出於任何緣由要停用並刪除交換文件,請按照下列步驟操做:
sudo swapoff -v /swapfile
/swapfile swap swap defaults 0 0
從/etc/fstab
文件。sudo rm /swapfile