有時候需要在安裝後增加更多的 swap 空間,舉例來說,您也許會將系統的 RAM 從 64MB 升級為 128MB,不過 swap 的空間只有 128MB,如果您需要執行需要大量記憶體的應用程式或操作,這時候就有必要將 swap 的空間增大至 256MB。
在此您有兩種選擇: 增加一個 swap 分割區或增加一個 swap 檔案。 建議您新增一個 swap 分割區,不過如果您沒有任何可用的空間,將很難做到。
如要新增一個 swap 分割區(假設 /dev/hdb2 為您想新增的 swap 分割區),請依照下列的指示:
硬碟不可以正在使用中(分割區不能被掛載中,而且不能啟用 swap 空間)。 要做到這樣最簡單的方法是將您的系統開機至『救援模式』,請參考 第9章 以取得開機進入救援模式的指示。 在提示您掛載檔案系統時,請選擇 略過。
除此之外,假如該磁碟不包含任何使用中的分割區,您可以卸載它們,然後使用 swapoff 指令來關閉硬碟上所有的 swap 空間。
可以使用 parted 或 fdisk 來建立 swap 分割區,使用 parted 會比 fdisk 容易,因此在這裡只有解釋 parted。 如要使用 parted 來建立一個 swap 分割區,請遵照以下指示:
以 root 身份在 shell 提示符號下輸入 parted /dev/hdb 指令,這裡的 /dev/hdb 是含有剩餘空間之硬碟的裝置名稱。
在 (parted) 的提示符號下輸入 print 來檢視既有的分割區以及剩餘的空間。 在此,起點與終點的數值是以 MB 表示的,請找出硬碟上所剩餘的空間以及您要分配多少空間給新的 swap 分割區。
在 (parted) 的提示符號下輸入 mkpartfs part-type linux-swap start end,這裡的 part-type 是 primary, extended 或 logical 的其中一種,start 是分割區的起始點,而 end 為分割區的結束點。
警告 | |
---|---|
變更將立即生效,在輸入時請特別小心。 |
輸入 quit 以離開 parted。
現在,您的 swap 分割區就建立好了,請使用 mkswap 指令來設定該 swap 分割區,以 root 身份在 shell 提示符號下輸入以下指令:
mkswap /dev/hdb2 |
如要立即啟用該 swap 分割區,請輸入以下指令:
swapon /dev/hdb2 |
如要在開機時啟用它,請編輯 /etc/fstab 檔案以包含下列這一行:
/dev/hdb2 swap swap defaults 0 0 |
下次系統開機時,將會啟用新的 swap 分割區。
在新增完 swap 分割區然後啟用它後,請使用 cat /proc/swaps 或 free 指令來檢視它們的輸出以確定它已經被啟用。
如要新增一個 swap 檔案:
請先決定新 swap 檔案的大小,然後乘以 1024 以取得磁碟區塊(block)的大小,例如 64MB 之 swap 檔案的區塊大小為 65536。
請以 root 身份在 shell 提示符號下輸入下列指令,並包括 count 等於區塊大小的數值:
dd if=/dev/zero of=/swapfile bs=1024 count=65536 |
並使用以下指令來設定 swap 檔案:
mkswap /swapfile |
如要立即啟用 swap 檔案(非開機時自動啟動),請使用下列指令:
swapon /swapfile |
如要在開機時啟動它,請編輯 /etc/fstab 以包含:
/swapfile swap swap defaults 0 0 |
下次系統開機時,它將會啟用新的 swap 檔案。
在增加新的 swap 檔案並啟用它後,請檢視 cat /proc/swaps 或 free 指令的輸出以確定它已經被啟用。