mkswap 在Linux設備或者文件中創建交換分區,創建完成之後必須使用swapon來使用它。一般在“/etc/fstab”中有一個交換分區列表,這樣開機的時候就可以使用它。 此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。 1、語法 ...
mkswap
在Linux設備或者文件中創建交換分區,創建完成之後必須使用swapon來使用它。一般在“/etc/fstab”中有一個交換分區列表,這樣開機的時候就可以使用它。
此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、語法
mkswap [-c] [-f] [-p PSZ] [-L label] [-U uuid] device [size]
參數device通常是一個磁碟分區(類似於/dev/sdb7),但也可以是一個文件。Linux內核不查看分區ID,但是許多安裝腳本將假定十六進位類型82(Linux_SWAP)的分區是交換分區。(警告:Solaris也使用此類型。小心不要關閉Solaris分區。)
參數size是多餘的,但為了向後相容性而保留
PSZ參數指定要使用的頁大小。指定它幾乎是不必要的(甚至是不明智的),但是某些舊的libc版本是關於頁面大小的,所以mkswap有可能弄錯了它。癥狀是後續Swapon失敗了,因為沒有找到交換簽名。PSZ的典型值為4096或8192。
2、選項列表
選項 |
說明 |
-c |
創建交換分區之前,檢測壞塊。如果有,那麼列印出數量。 |
-f |
強制執行。如果沒有此選項,mkswap將拒絕擦除帶有分區表的設備上的第一個塊或整個磁碟上的第一個塊(例如/dec/sda)。 |
-p |
設置頁大小,預設4096。一般是不需要指定這個參數的 |
-L label |
指定一個label,方便swapon使用。只適用於新的風格交換區域 |
-v1 |
創建v1版本的swap分區,2.5內核之後只支持這種的 |
-U uuid |
指定uuid,預設情況會生成uuid |
3、說明
交換頭不觸及第一個塊。引導載入程式或磁碟標簽可以在那裡,但不建議安裝。建議的設置是為Linux交換區域使用單獨的分區。mkswap和許多其他類似mkfs的實用程式一樣,擦除了第一塊,這樣就可以刪除磁碟上的舊系統。mkswap拒絕擦除帶有磁碟標簽的設備上的第一個塊,或者整個磁碟。
交換區域的最大有用大小取決於體繫結構和內核版本,在i386、PPC、m68k、ARM、sparc上為1 GiB、MIPS上為512 MiB、alpha上為128 GiB、sparc64上為3 TiB。對於2.3.3以後的內核來說,沒有這樣的限制。請註意,在2.1.117之前,內核為每個頁面分配了一個位元組,而現在它分配了兩個位元組,因此使用中的交換區域2 GIB可能需要2個MIB內核記憶體。
目前,Linux允許32個交換區域(這是Linux2.4.10之前的8個)。使用中的區域可以在文件“/proc/swaps”中看到(自2.1.25以來)。mkswap拒絕10頁以下的區域。如果您不知道您的機器使用的頁面大小,您可能可以使用“cat /proc/cpuinfo”查找它。
若要設置交換文件,必須在使用mkswap初始化該文件之前創建該文件,例如使用以下命令:
# dd if=/dev/zero of=swapfile bs=1024 count=65536 |
註意,交換文件不能包含任何漏洞(因此,使用cp(1)創建該文件是不可接受的)
4、實例
1)創建交換分區,指定頁大小2048
|
2)創建交換分區,指定頁大小4096,指定label
|
3)使用交換分區
|