直接格式化的寫分區這種操做通常在裝機的時候系統安裝引導程序就幫忙作了,我只在裝arch的時候被教育了下. 大體方法是分區,對這個分區mkswap,而後將這個分區的位置寫到/etc/fstab中. 內容相似下面這樣.bash

/etc/fstab
1
/dev/mapper/sae-swap    swap  swap    defaults   0 0

它會在啓動的時候自動掛載本分區到swap,不用操心任何事情. 對於比較穩定的,長期使用的swap設置而言,這應當是最好的選擇.app

但有時候需求有點複雜,好比遠程的時候騰出個分區格式化而後掛載雖然不困難,但如有更簡單的方法,那我的仍是傾向於用簡單的.post

linux支持使用文件做爲swap,而後在線啓用或者取消swap.流程很簡單.進入root後幾步操做就能夠搞定.ui

首先你須要準備一個你想要的大小的文件.好比512MB(也就是1024 * 512MB = 524288 k)spa

1
# dd if=/dev/zero of=/swapfile1 bs=1024 count=524288

上面這條命令會在/swapfile1這個文件中寫上512MB大小的0.它有個很嚴重的問題--效率. 若我只是開上上面命令的512MB的話,速度仍是能夠忍受的,但某次我要開上700G的文件,等得花兒都謝了. 咱們的目標就是開個足夠大的文件而已,另外一個可用的命令是fallocate. 命令以下:code

1
# fallocate -l 700G /swapfile1

雖然仍然須要等幾秒,但速度仍是很是快的.blog

此時文件的讀寫仍是比較開放的,但這樣就不安全了.設置文件權限以下:ci

1
2
# chown root:root /swapfile1
# chmod 0600 /swapfile1

而後,你須要對這個文件格式化一下.命令以下:

1
# mkswap /swapfile1

這樣swapfile1就是swap能夠接受的格式了.

最後,啓用swap.

1
# swapon /swapfile1

這樣咱們就很容易的獲得了一些新的swap空間.

若是咱們須要讓它每次開機自動掛載swap的話,咱們須要編輯/etc/fstab,添加一行內容以下:

1
/swapfile1 none swap sw 0 0

若是咱們不想要這個swap,解除也很容易

1
# swapoff /swapfile1

而後咱們就能夠安全的刪除/swapfile1這個文件了.

References:

  • http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/
  • http://stackoverflow.com/questions/257844/quickly-create-a-large-file-on-a-linux-system