Provided by: manpages-zh_1.6.3.3-2_all bug

NAME

       mkswap - 建立一個linux交換區

總覽

       mkswap [-c] [-vN] [-f] device [size]

描述

       mkswap 在一個設備上或者在一個文件裏創建一個linux交換區。

       (該交換區創建後,必須使用       swapon      命令來啓用它。通常交換區被列在      /etc/fstab
       中,從而使得在啓動時可通過某些啓動腳本中的 swapon -a 命令來啓用。)

       參數 device 通常是一個磁盤分區(類似於 /dev/hda4 或者  /dev/sdb7  ),但也可以是一個文件。
       Linux內核不會着眼於分區號,但是一些安裝腳本會假定類型爲
       16進制的82(LINUX_SWAP)的分區意味着交換分區。

       參數              size               是多餘的,但爲了向兼容性而被保留。(它指定期望的以1024
       字節爲單位的交換區大小。如果它未被指定,                                            mkswap
       將使用整個分區或者文件。錯誤地使用"-a"選項將會損壞您的磁盤。)

       Linux能理解兩種類型的交換區:舊類型和新類型。交換區第一頁的最後
       10個字節區分兩種類型:舊類型以"SWAP_SPACE",新類型以"SWAPSPACE2" 作標識。

       在舊類型裏,第一頁的其它部分是一個位圖,每一位指出交換區中的可
       用頁面。因爲第一頁保存位圖,所以第一位爲0。同樣的,最後10位保存
       標識。所以,如果頁面大小爲S,舊類型交換區可以描述最多8*(S-10)-1
       個可用於交換的頁面。對於S=4096(象i386上),最大可用區域是  133890048字節(如果1   MB=2^20
       bytes,則差不多爲128                                                        MB),而其他部
       分將被浪費。在alpha和sparc64上,S=8192,最大可用區域是535560992字
       節(與上述同樣條件下,差不多爲512 MB)。

       因爲零位表示壞的塊或者超過交換區末尾的塊,舊的設置浪費了大部分的
       位圖頁面,一個簡單的整數就可以滿足指出交換區大小的需要,而且如果
       有壞的塊,也可以簡單的列出來。沒有人想使用有許多壞塊的交換區(我
       甚至不會使用包含一個壞塊的交換空間)。在新類型交換區正好是這樣做
       的。現在交換區的最大可用數目取決於具體結構。大致來說,在i386,          PPC,          m68k,
       ARM上爲2GB,在sparc上爲1GB,在mips上爲512MB,在alpha 上爲128GB,在sparc64上爲3TB。

       注意在2.1.117內核之前,每一頁分配一個字節,而現在爲兩個字節,所
       以爲了獲得2GB的可用交換區,可能需要2MB的核心內存。

       目前,Linux允許8個交換區。這些正在使用的區域可從文件 /proc/swaps (從2.1.25起)中查到。

       mkswap 不允許小於10個頁面的區域。

       如果不知道您的機器所用的頁面大小,可以用"cat    /proc/cpuinfo"來查    看(或者不能查看   -
       這個文件的內容取決於系統結構和內核版本)。

       爲了設置一個交換文件,需要在執行 mkswap , 前創建這個文件,例如,象如下命令:

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

       注意一個交換文件必須不包括任何空洞(所以,不能使用 cp(1) 來創建該文件)。

選項

       -c     在創建交換區之前檢查設備(如果是塊設備)的壞塊。
              如果發現任何壞塊,壞塊的總數將被打印出來。

       -f     強行向前執行,即使該命令是愚蠢的。該選項允許建立比
              所在的文件或者分區還大的交換區。在SPARC上,強行創建    交換區。無該選項的    mkswap
              將拒絕在包含有效的SPARC超        級塊的設備上創建vo交換區,因爲那樣可能意味着將刪除
              分區表。

       -v0    創建一箇舊類型的交換區。

       -v1    創建一個新類型的交換區。

       如果未指定-v選項,而且交換區大小沒有超過舊類型交換區
       的最大值,同時當前內核比2.1.117老(且PAGE_SIZE小於             2048),             mkswap
       將默認創建舊類型的交換區。萬一您的引導分區或者磁盤卷
       標在第一塊,新類型的頭部將不接觸那些部分,所以可能更 好(如果同樣交換區較小),

參考

       fdisk(8), swapon(8)

       本頁面中文版由中文 man 手冊頁計劃提供。
       中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh