以檔案建立交換空間

除了使用固定的磁碟分割區之外,我們也可以拿一般的檔案來建立交換空間,用檔案的方式可以讓管理者非常彈性的動態增加交換空間,在不需要時也可以很方便的移除。

Btrfs 檔案系統上的檔案無法用來建立交換空間。

若要使用一般的檔案建立交換空間,首先使用 fallocate 建立一個檔案,檔案的的大小可以使用 -l 參數指定,例如建立一個大小為 512 MB 的檔案:

sudo fallocate -l 512M /swapfile

如果您的檔案系統無法使用 fallocate 建立檔案,可以改用 dd

sudo dd if=/dev/zero of=/swapfile bs=1M count=512

使用 dd 的作用跟 fallocate 差不多,只是會多出一些磁碟寫入的動作,稍微慢一些。

接著設定正確的權限:

sudo chmod 600 /swapfile

使用 mkswap 初始化交換空間:

sudo mkswap /swapfile

最後使用 swapon 啟用交換空間:

sudo swapon /swapfile

若要讓系統開機時可以自動使用這個交換空間,則在 /etc/fstab 中加入:

/swapfile none swap defaults 0 0

若要停用交換空間,一樣是使用 swapoff

sudo swapoff -a

當交換空間停用之後,如果後續沒有需要繼續使用,就可以將檔案刪除了:

sudo rm -f /swapfile

如果在 /etc/fstab 有設定這個檔案的交換空間的話,也記得要一併移除。

接著我們要介紹使用 USB 隨身碟或外接硬碟來作為 Linux 系統的交換空間,請繼續閱讀下一頁。