萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux設置swap交換分區的步驟

Linux設置swap交換分區的步驟

  很多人對Linux的swap交換分區不了解,不知道什麼是swap交換分區,下面小編將針對什麼是swap分區及swap分區的設置給大家做個簡單的介紹,想要設置swap分區的朋友不妨來了解下。

Linux設置swap交換分區的步驟

  一、什麼是swap分區

  交換區可是看作是內存的一部分,只是它是從硬盤中劃分出來的,它像windows下的虛擬內存,它的作用是緩存數據,劃分它時,大小設成你的物理內存的大小的兩倍。

  二、設置swap交換分區

  交換分區的大小分配推薦法則

  內存小於4GB時,推薦不少於2GB的swap空間;

  內存4GB~16GB,推薦不少於4GB的swap空間;

  內存16GB~64GB,推薦不少於8GB的swap空間;

  內存64GB~256GB,推薦不少於16GB的swap空間。

  1、以root權限登錄SSH,鍵入如下命令創建512M的swap文件(1024 * 512MB = 524288)。

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

  2、創建Linux交換文件

  mkswap /swapfile1

  3、立即激活 /swapfile1交換文件

  swapon /swapfile1

  4、設置系統自激活交換文件。編輯 /etc/fstab文件,並增加如下第二行代碼。

  vi /etc/fstab

  /swapfile1 swap swap defaults 0 0

  5、重啟系統,使用free -m查看swap大小。

  三、Linux中查看swap的命令

  可以用“cat /proc/swaps”、“swapon -s”、“free”等命令查看Swap分區的情況。

  [root@jay-linux ~]# swapon -s

  Filename Type Size Used Priority

  /dev/sda3 partition 2096120 840 -1

  [root@jay-linux ~]# cat /proc/swaps

  Filename Type Size Used Priority

  /dev/sda3 partition 2096120 840 -1

  [root@jay-linux ~]# free -m

  total used free shared buffers cached

  Mem: 7872 7280 592 0 429 5964

  -/+ buffers/cache: 886 6986

  Swap: 2046 0 2046

  根據上面的例子,我其實該分配4GB的Swap空間,這裡演示的是2GB(可能不太符合Redhat的推薦值,因為本機使用內存量並不會太大,幾乎沒有使用Swap的情況)。 上一頁123下一頁共3頁

  四、重新劃分Swap交換分區

  先執行一下fdisk -l查看一下設備名稱和分區狀況

  1、執行swapoff swap分區的設備名 關閉交換文件。

  2、看到swap的設備名刪除原來的swap分區,在新建一個swap分區。可以使用fdisk做此操作

  如果對/dev/sda設備進行分區操作:

  fdisk /dev/sda

  屏幕提示:

  Command (m for help):

  鍵入p

  屏幕會列出當前所有的分區設備號、大小、文件格式等參數;

  下面進行刪除分區的操作:

  屏幕提示:

  Command (m for help):

  鍵入d

  屏幕提示:

  Partition number (1-x):

  x是您現有的分區數量,有兩個分區的話x就是2;刪除分區時從最後一個分區開始,鍵入2:

  屏幕提示:

  Command (m for help):

  鍵入p

  列出當前分區情況,發現sda2被刪除了;

  繼續鍵入d,然後是1,再鍵入p,發現sda的分區都被刪除了;

  屏幕提示:

  Command (m for help):

  鍵入w

  保存當前刪除的操作,回到主界面,如果/dev/sdb上也有分區,按照上面的方法刪除。

  下面進行創建分區的操作:

  fdisk /dev/sda

  屏幕提示:

  Command (m for help):

  鍵入p

  此時硬盤上應該沒有任何分區;

  鍵入n

  屏幕提示:

  First cylinder (abcd-efgh, default abcd):

  abcd和efgh都是數字,表示新分區起始的柱面數,直接鍵入回車即可;

  屏幕提示:

  Last cylinder or +size or +sizeM or +sizeK (abcd-ijkl, default ijkl):

  abcd和 ijkl也都是數字,這裡是要求定義分區的大小,如果要建立2G的空間,鍵入+2000M,如果要將後面所有空間都分出來,直接鍵入回車即可;注意分區大

  小的單位M和K一定要大寫!

  屏幕提示:

  Command (m for help):

  鍵入p

  發現已經建立了分區sda1,大小是2G

  仿照上面的方法建立更多分區,可以用p查看,最後鍵入w保存操作。

  3、這樣重建swap之後,可以使用mkswap /dev/sda[x],其中的[x]代表的是你的第幾個分區。

  4、激活交換分區 swapon /dev/sda[x]

  5、 想要在系統啟動時自動激活此交換文件,應該在 /etc/fstab 中加入如下一行:

  /dev/sda[x] swap swap defaults 0 0

  添加交換文件並啟用它後,用 cat /proc/swaps 或 free 命令查看交換文件是否

  被成功啟用。 上一頁12 3下一頁共3頁

  五、沒有swap交換分區分區的解決辦法(用文件替代swap分區)

  文件系統 類型 容量 已用 可用 已用% 掛載點

  /dev/sdb2 ext3 7.6G 555M 6.7G 8% /

  /dev/sda1 ext3 466G 453G 13G 98% /home1

  /dev/sdb7 ext3 4.8G 149M 4.4G 4% /tmp

  /dev/sdb6 ext3 4.8G 1.6G 3.0G 35% /var

  /dev/sdb5 ext3 5.7G 140M 5.3G 3% /swap

  /dev/sdb3 ext3 5.7G 2.1G 3.4G 39% /usr

  /dev/sdb1 ext3 99M 18M 77M 19% /boot

  /dev/sdb8 ext3 437G 175G 262G 41% /home2

  tmpfs tmpfs 2.0G 2.2M 2.0G 1% /dev/shm

  swap交換分區就根本用不了,由於此服務器已經在跑業務了,不能隨便停機,更不能重裝系統。

  [root@localhost ~]# free -m

  total used free shared buffers cached

  Mem: 3910 3886 23 0 16 1652

  -/ buffers/cache: 2217 1692

  Swap: 0 0 0

  解決方法:

  #制作一個swapfile文件,需要root權限

  su

  dd if=/dev/zero of=/swap/swapfile bs=4096 count=1310720

  #說明:其中bs參數制定每次讀取及輸入多少個字節。因為硬盤存取的最小單位為扇區,所以設置bs參數就相當於設置每個扇區的大小。我這裡設置為4096即4k。參數count則主要是用來設置可以使用扇區的數量。所以這個文件所占用的空間就是以上連個參數的乘積。這裡需要注意的是,如果要增加swap文件容量,一般是通過調整count參數來實現的,bs參數一般不動。看到我的/swap分區完全沒被使用,有5.3G剩余空間,所有我建立了一個5G的swapfile文件。

  #格式化swapfile,同樣需要root權限

  mkswap /swap/swapfile

  #啟用swap

  swapon /swap/swapfile

  #不想每次重啟後手動啟用swap就可以將掛載寫入/etc/fstab中 (因為我這個分區比較特殊,分區名稱相同,為保險起見,我沒寫入到fstab裡面)

  /swap/swapfile swap swap defaults 0 0

  #用free -m查看一下,swap設定已經生效了:

  [root@localhost ~]# free -m

  total used free shared buffers cached

  Mem: 3910 3885 25 0 21 1639

  -/ buffers/cache: 2224 1686

  Swap: 5119 0 5119

  順利完成。

  當你實在不需要使用swap交換分區時可以釋放掉swapfile

  swapoff /swap/swapfile

  rm -f /swap/swapfile

  上面就是Linux設置swap交換分區的方法介紹了,本文對查看swap分區的命令及swap分區的重新劃分也做了一定的講解,即便你的系統沒有swap分區也能通過文件來替代。

上一頁123 下一頁共3頁
copyright © 萬盛學電腦網 all rights reserved