歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> swap交換空間

swap交換空間

日期:2017/2/27 14:16:10   编辑:更多Linux

Linux 中的 交換空間(Swap space) 在物理內存(RAM)被充滿時被使用。如果系統需要更多的內存資源,而物理內存已經充滿,內存中不活躍的頁就會被移到交換空間去。雖然交換空間可以為帶有少量內存的機器提供幫助,但是這種方法不應該被當做是對內存的取代。交換空間位於硬盤驅動器上,它比進入物理內存要慢。

交換空間可以是一個專用的交換分區(推薦的方法),交換文件,或兩者的組合。

交換空間的總大小應該相當於你的計算機內存的兩倍和 32 MB這兩個值中較大的一個,但是它不能超過 2048 MB(2 GB)。

2.2. 添加交換空間

有時,你會有必要在安裝後添加更多的交換空間。例如,你把系統內存從 64 MB 升級到 128 MB,但是你只有 128 MB 的交換內存。如果你執行的是大量使用內存的操作或運行需要大量內存的程序,把交換區增加到 256 MB 可能會對你有利。

你有兩種選擇:添加一個交換分區或添加一個交換文件。推薦你添加一個交換分區,不過,若你沒有多少空閒空間可用,創建交換分區可能會不大容易。

要添加一個交換分區(假設 /dev/hdb2 是你想添加的交換分區):

硬盤驅動器不能在被使用(分區不能被掛載,交換分區不能被啟用)。要達到這一目的的最簡單方法是在救援模式下引導你的系統。請參閱 第9章 來獲得將系統引導入救援模式的說明。當提示掛載文件系統時,選擇 「跳過」

如果驅動器不包含任何被使用的分區,你還可以卸載這些分區,使用 swapoff 命令來關閉硬盤驅動器上的所有交換空間。

使用 parted 或 fdisk 來創建交換分區。 parted 比 fdisk 使用起來更方便,因此,只有 parted 在這裡會被說明。要使用 parted 來創建交換分區:

在 shell 提示下以根用戶身份鍵入命令: parted /dev/ hdb 。這裡的 /dev/ hdb 是你的帶有空閒空間的硬盤驅動器的設備名稱。

在 (parted) 提示下,鍵入 print 來查看現存的分區和空閒空間的數量。起止值以 MB 為單位。判定硬盤驅動器上的空閒空間數量,以及你想給新建的交換分區分配的空間數量。

在 (parted) 提示下,鍵入 mkpartfs part-type linux-swap start end ,這裡的 part-type 是 primary、extended、logical 中的一個, start 是分區的起始點, end 是分區的終止點。

警告:改變會立即發生,在鍵入時請謹慎從事。

鍵入 quit 來退出 parted 。

現在,你就可以創建交換分區了,使用 mkswap 命令來設置交換分區。在 shell 提示下以根用戶身份鍵入以下命令:

mkswap /dev/hdb2

要立即啟用交換分區,鍵入以下命令:

swapon /dev/hdb2

要在引導時啟用,編輯 /etc/fstab 文件來包括以下行:

/dev/hdb2 swap swap defaults 0 0

在系統下次引導時,它就會啟用新建的交換分區。




新添了交換分區並啟用它之後,請查看 cat /proc/swaps 或 free 命令的輸出來確保交換分區已被啟用了。

要添加交換文件:

判定新交換文件的大小,將大小乘以 1024 來判定塊的大小。例如,大小的 64 MB 的交換文件的塊大小為 65536。

在 shell 提示下以根用戶身份鍵入以下命令,其中的 count 等於想要的塊大小:

dd if=/dev/zero of=/swapfile bs=1024 count=65536

使用以下命令來設置交換文件:

mkswap /swapfile

要立即啟用交換文件而不是在引導時自動啟用,使用以下命令:

swapon /swapfile

要在引導時啟用,編輯 /etc/fstab 文件來包含以下行:

/swapfile swap swap defaults 0 0

系統下次引導時,它就會啟用新建的交換文件。

新添了交換分區並啟用它之後,請查看 cat /proc/swaps 或 free 命令的輸出來確保交換分區已被啟用了。

2.3. 刪除交換空間

要刪除交換分區:

硬盤驅動器不能在被使用(分區不能被掛載,交換分區不能被啟用)。要達到這一目的的最簡單方法 是在救援模式下引導你的系統。請參閱 第9章 來獲得將系統引導入救援模式的說明。當提示掛載文件系統時,選擇 「跳過」

如果驅動器不包含任何被使用的分區,你還可以卸載這些分區,使用 swapoff 命令來關閉硬盤驅動器上的所有交換空間。

在 shell 提示下以根用戶身份鍵入以下命令來確定交換分區已被禁用(這裡的 /dev/hdb2 是交換分區):

swapoff /dev/hdb2

從 /etc/fstab 文件中刪除這個項目。

使用 parted 或 fdisk 來刪除分區。只有 parted 在這裡會被說明。要使用 parted 來刪除分區:

在 shell 提示下以根用戶身份鍵入命令: parted /dev/ hdb 。這裡的 /dev/ hdb 是你的帶有交換空間的硬盤驅動器的設備名稱。

在 (parted) 提示下,鍵入 print 來查看現存的分區並判定你想刪除的交換分區的次要號碼。

在 (parted) 提示下,鍵入 rm MINOR ,這裡的 MINOR 是你想刪除的分區的次要號碼。

警告:改變會立即發生,你必須鍵入正確的次要號碼。

鍵入 quit 來退出 parted 。



要刪除交換文件:

在 shell 提示下以根用戶身份執行以下命令來禁用交換文件(這裡的 /swapfile 是交換文件):

swapoff /swapfile

從 /etc/fstab 中刪除該項目。

刪除實際文件:



從 /etc/fstab 中刪除該項目。

刪除實際文件:



Copyright © Linux教程網 All Rights Reserved