11.12. 增加交換空間

有時系統會需要更多的交換 (Swap) 空間,本章節會介紹兩種增加交換空間的方式:一種是在既有的分割區或新的硬碟增加交換空間,另一種則是在既有的分割區中建立一個交換檔。

要取得更多有關如何加密交換空間的資訊、有那些可用的選項以及為何要做加密,可參考 節 17.13, “交換空間加密”

11.12.1. 使用新硬碟或既有分割區增加交換空間

在新的磁碟上增加交換空間比起使用既有硬碟上的分割區會有較佳的效率。設定分割區與硬碟在 節 17.2, “加入磁碟” 中有說明,另外 節 2.6.1, “規劃分割區配置” 會討論到分割區的配置與交換分割區大小需考量的事項。

使用 swapon 來增加交換分割區到系統,例:

# swapon /dev/ada1s1b

警告:

可以使用任何尚未掛載過、甚至已經有內含資料的分割區做為交換空間,但在含有資料的分割區上使用 swapon 會覆寫並清除該分割區上所有的資料,請在執行 swapon 之前確認真的要使用該分割區增加交換空間。

要在開機時自動加入此交換分割區,可加入以下項目到 /etc/fstab

/dev/ada1s1b	none	swap	sw	0	0

請參考 fstab(5) 來取得在 /etc/fstab 中項目的說明。更多有關 swapon 的資訊 可以在 swapon(8) 找到。

11.12.2. 建立交換檔

以下例子會建立一個 64M 的交換檔於 /usr/swap0 來替代使用分割區建立交換空間。

使用交換檔開啟交換空間前需要在核心編譯或載入 md(4) 所需的模組,請參考 章 8, 設定 FreeBSD 核心 了解有關編譯自訂核心的資訊。

範例 11.2. 建立交換檔於 FreeBSD 10.X 及以後版本
  1. 建立交換檔:

    # dd if=/dev/zero of=/usr/swap0 bs=1m count=64
  2. 在新檔案設定適當的權限:

    # chmod 0600 /usr/swap0
  3. 加入行到 /etc/fstab 以讓系統知道交換檔的資訊:

    md99	none	swap	sw,file=/usr/swap0,late	0	0

    已使用 md(4) 裝置的 md99,保留較低的裝置編號供互動操作時使用。

  4. 交換空間會於系統啟動時增加。若要立即增加交換空間,請參考 swapon(8)

    # swapon -aL

範例 11.3. 建立交換檔於 FreeBSD 9.X 及先前版本
  1. 建立交換檔 /usr/swap0

    # dd if=/dev/zero of=/usr/swap0 bs=1m count=64
  2. 設定適當的權限於 /usr/swap0

    # chmod 0600 /usr/swap0
  3. /etc/rc.conf 開啟交換檔:

    swapfile="/usr/swap0"   # Set to name of swap file
  4. 交換空間會於系統啟動時增加。若要立即增加交換空間,可指定一個未使用的記憶體裝置。請參考 節 17.9, “記憶體磁碟” 取得更多有關記憶體裝置的資訊。

    # mdconfig -a -t vnode -f /usr/swap0 -u 0 && swapon /dev/md0

本文及其他文件,可由此下載: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

若有 FreeBSD 方面疑問,請先閱讀 FreeBSD 相關文件,如不能解決的話,再洽詢 <questions@FreeBSD.org>。

關於本文件的問題,請洽詢 <doc@FreeBSD.org>。