交換分區問題

Linux下可以創建兩種類型的交換空間,一種是swap分區,一種是swap文件。前者適合有空閒的分區可以使用,後者適合於沒有空的硬盤分區,硬盤的空間都已經分配完畢。例如:安裝redhat的時候,你可以默認劃分硬盤空間,交換區的大小事系統默認配置,當你安裝完系統後需要安裝一個oracle數據庫,突然發出警告,交換空間不夠。此刻該怎麼辦?

1、查看交換分區的方式

可以通過命令top,free命令查看當前的交換分區。也可以使用cat /proc/swaps查看交換分區

2、如何通過swap文件擴充交換空間的大小

例如:增加1G的交換空間

2.1、dd if=/dev/zone  of=/myswap  bs=2k count=524288  //劃分空間

2.2、mkswap /myswap    //格式成交換分區的格式

2.3、swapon /myswap    //使格式的swap生效

設置後,可以通過上面的命令查看時否生效。當啓動系統後需要自動加載交互分區,可以在/etc/fstab文件中增加:/myswap   swap    swap   default  0 0

3、如何通過swap分區的方式增加交換空間

3.1、如果希望添加一個交換分區(這裏假設希望把/dev/hdb5添加爲交換分區),這個硬盤不能被正在使用(也就是分區不能被加載,交換空間沒有被激活)。分區表在使用時不能被修改,因爲內核可能無法正確識別分區表的變化。這樣數據可能會寫入到錯誤的分區,而導致數據被覆蓋而丟失,因爲內核維護的分區表跟硬盤上的分區表不一致造成的。
解決這個問題最簡單的辦法是將系統引導進入急救(rescue)模式下進行操作。當提示掃描並加載文件系統時,選擇跳過。如果硬盤上沒有任何分區被使用,這樣就可以卸載分區,使用swapoff命令來關閉該硬盤上所有的交換分區。
3.2、使用parted創建交換分區
以root身份運行: parted /dev/hdb
在parted命令的提示符,輸入print查看當前分區表,以及空閒空間。開始和結束值的單位是MB,然後計算有多少空閒空間,以及你希望劃分多少空間給交換分區。
在parted提示符後,輸入mkpartfs part-tyep linux-swap start end,這裏part-type是primary、extend或logical。start是分區開始點,end是分區結束點。
輸入exit退出parted
3.3、現在已經創建了交換分區,使用mkswap命令設置交換分區:
 mkswap /dev/hdb2
3.4、爲了立刻激活swap分區,輸入以下命令:
  swapon /dev/hdb2
3.5、爲了在啓動時激活它,在/etc/fstab中添加如下內容:
   /dev/hdb2    swap    swap defaults   0 0
下次啓動時,系統會自動激活該交換分區。
3.6、添加了新分區,並激活它以後,可以通過cat /proc/swaps或者free來查看該交換分區是否已經工作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章