swap partition

虛擬記憶體 Swap

虛擬記憶體就是將硬碟規劃出一個區間,讓記憶體的資料可以經由硬碟來讀取罷了。

建立 SWAP 方式:


  • 設定一個 swap partition ?
  • 建立一個虛擬記憶體的檔案?





  • Swap partition ( 建立虛擬記憶體的磁區 ):
  • 第一種正規的方法是『直接再加一棵硬碟,並且將其中某個磁區規劃為 swap 的 filesystem 』,呵呵,說的容易,做起來更容易!實際的動作為:
    1. 以『 fdisk /dev/hd[a-d] 』先建立一個 partition ,還記得 fdisk 怎麼做嗎?回去複習一下吧!簡單的來說,就是先 (1)建立一個 partition,然後 (2)將該 partition 的 ID 改為 82 這一個 swap 的磁碟檔案格式代號就對 啦!這樣這一步驟就 OK 囉!
    2. 以『 mkswap /dev/hd[a-d][1-16] 』的方式來將您剛剛建置出來的 partition 『格式化為 swap 的檔案格式』,很簡單吧!這樣就格式化 OK 囉!
    3. 再來則是將 swap 啟動,啟動的指令為『 swapon /dev/hd[a-d][1-16] 』,這樣就能啟動了!很簡單吧!這樣 swap 就自動加入到記憶體容量裡頭去了!
    那麼如何將 swap 關掉呢?呵呵!很簡單呀!就是直接給他 swapoff 就對了!

  • Swap file ( 建立虛擬記憶體檔案 ) :
  • 那麼萬一我不想新增加一個磁區呢?可不可以使用 swap file 的方式來新增硬碟呀!當然可以囉!而且步驟還蠻簡單的呢!基本的流程就是:
    1. 以 dd 指令來建立 swapfile ;
    2. 以 mkswap 來將 swapfile 格式化為 swap 的檔案格式;
    3. 以 swapon 來啟動該檔案,使成為 swap ;
    4. 以 swapoff 來關閉該檔案!
    嗯!多說無益!我們來實際的將您的主機系統上面新增 64MB 的虛擬記憶體吧!如果可能的話,請您在您的系統上面實際的操作一次底下的步驟,我想,您應該馬上會瞭解實際的操作流程的!(底下的步驟是可以復原的!!別 擔心,不過 mkswap 這個指令的下達要小心一點就是了!)
    1. 使用 dd 這個指令來新增一個 64MB 的檔案在 /tmp 底下:
    2. [root@test /root]# dd if=/dev/zero of=/tmp/swap bs=4k count=16382 
      16382+0 records in 
      16382+0 records out 
      dd 這個指令是用來轉換檔案並且 copy 用的; 
      if 指的是要被轉換的輸入檔案格式 /dev/zero 可以由 man zero 來查看內容; 
      of 指的是輸出的檔案,我們將之輸出到 /tmp/swap 這個檔案; 
      bs 指的是一個磁區佔用幾個 kb ; 
      count 指的是要使用多少個 bs ,所以最後的容量為 bs*count = 4k * 16382 ~ 64MB
      如上所述,我們將建立一個檔名為 /tmp/swap 的檔案,且其內容共有 64MB 左右大小的檔案;   
    3. 使用 mkswap 將 /tmp/swap 這個檔案格式化為 swap 的檔案格式:
    4. [root@test /root]# mkswap /tmp/swap 
      Setting up swapspace version 1, size = 67096576 bytes 
      請注意,這個指 令在下達的時候請『特別小心』,因為下錯字元控制,將可能使您的 filesystem 掛掉!
    5. 使用 swapon 來將 /tmp/swap 啟動囉!
    6. [root@test /root]# free 
                   total       used       free     shared    buffers     cached 
      Mem:         62524      60200       2324          0        716      19492 
      -/+ buffers/cache:      39992      22532 
      Swap:       127004       2620    124384 
      [root@test /root]# swapon /tmp/swap 
      不要懷疑!這樣 就已經將虛擬記憶體增加 64 MB 囉!如果您需要每次都啟動該檔案, 
      那麼將 swapon /tmp/swap 寫入 /etc/rc.d/rc.local 當中即可! 
      用 free 這個指令查看一下您的系統囉! 
      [root@test /root]# free 
                   total       used       free     shared    buffers     cached 
      Mem:         62524      60240       2284          0        724      19492 
      -/+ buffers/cache:      40024      22500 
      Swap:       192524       2620    189904
       
    7. 使用 swapoff 關掉 swap file
    8. [root@test /root]# swapoff /tmp/swap 
      就直接給他關掉 囉!
沒錯,就這麼簡單的將虛擬記憶體給他新增囉!趕快來去試試看去!


留言

這個網誌中的熱門文章

NMEA標準格式 -- GPS

網路 Transformer 的用途

cut,sed,awk 字串處理