如何建立Linux的swap交換分區文件

Swap簡介

Linux中Swap(即:交換分區),相似於Windows的虛擬內存,就是當內存不足的時候,把一部分硬盤空間虛擬成內存使用,從而解決內存容量不足的狀況。linux

如何建立Swap文件

1. 建立一個用於交換的文件

sudo fallocate -l 1G /swapfile

若是faillocate未安裝或者您收到錯誤消息,fallocate failed: Operation not supported則能夠使用如下命令建立交換文件:服務器

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

2. 設置正確的權限

只有 root 用戶才能寫入和讀取交換文件,要設置正確的權限類型:app

sudo chmod 600 /swapfile

3. 設置Linux交換區

使用該 mkswap 實用程序將文件設置爲Linux交換區域:post

sudo mkswap /swapfile

4. 啓用交換

使用如下命令激活交換文件:翻譯

sudo swapon /swapfile

要使更改永久打開/etc/fstab文件並附加如下行:code

/swapfile swap swap defaults 0 0

5. 驗證交換狀態

要驗證交換是否處於活動狀態,咱們能夠使用swaponfree命令,以下所示:內存

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

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值取決於您的系統工做負載以及內存的使用方式。您應該以小增量調整此參數以查找最佳值。

如何刪除交換文件

若是出於任何緣由要停用並刪除交換文件,請按照下列步驟操做:

1. 首先,使用如下命令停用交換:

sudo swapoff -v /swapfile

2. 刪除交換文件條目/swapfile swap swap defaults 0 0/etc/fstab文件。

3. 最後刪除實際的swapfile文件:

sudo rm /swapfile

翻譯來源

Linuxize

相關文章
相關標籤/搜索