mkswap
在Linux設備或者文件中建立交換分區,建立完成以後必須使用swapon來使用它。通常在「/etc/fstab」中有一個交換分區列表,這樣開機的時候就能夠使用它。
此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
一、語法
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。
二、選項列表
-c
建立交換分區以前,檢測壞塊。若是有,那麼打印出數量。
-f
強制執行。若是沒有此選項,mkswap將拒絕擦除帶有分區表的設備上的第一個塊或整個磁盤上的第一個塊(例如/dec/sda)。
-p
設置頁大小,默認4096。通常是不須要指定這個參數的
-L label
指定一個label,方便swapon使用。只適用於新的風格交換區域
-v1
建立v1版本的swap分區,2.5內核以後只支持這種的
-U uuid
指定uuid,默認狀況會生成uuid
三、說明
交換頭不觸及第一個塊。引導加載程序或磁盤標籤能夠在那裏,但不建議安裝。建議的設置是爲Linux交換區域使用單獨的分區。mkswap和許多其餘相似mkfs的實用程序同樣,擦除了第一塊,這樣就能夠刪除磁盤上的舊系統。mkswap拒絕擦除帶有磁盤標籤的設備上的第一個塊,或者整個磁盤。
交換區域的最大有用大小取決於體系結構和內核版本,在i38六、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)建立該文件是不可接受的)ui