1. 程式人生 > >linux內存不足,swap交換分區創建

linux內存不足,swap交換分區創建

buffer acl margin tab oracle數據庫 空間 setting eva ria

為什麽需要swap

根 據Redhat公司的建議,Linux系統swap分區最適合的大小是物理內存的1-2倍.不過Linux上有些軟件對swap分區得需求較大,例如要順 利執行Oracle數據庫軟件,swap分區至少需要400MB或者物理內存2倍以上的空間.當然我們在安裝Linux的時候,就能直接講swap分區設 置到足夠的大小,但如果已經安裝好Linux了,之後又想再安裝類似Oracle的軟件,卻發現swap分區空間不夠,該如何處理? 針對此種情況,有兩種解決方法:一是創建新的swap分區;另一則是創建swap文件. 這裏暫時對創建swap文件做說明 創建swap文件如果你的硬盤空間已經全部分配給其他分區,也沒有多余的預算新添購硬盤,我們可以利用swap文件的方式增加虛擬的swap空間,不過執行性能會較實際的swap分區差.


1. 檢查當前的swap分區情況

# free –m

total used free shared buffers cached
  Mem: 1006 84 922 0 11 38
  -/+ buffers/cache: 35 971
  Swap: 0 0 0

2. 增加交換分區文件及大小

如上,當前swap分區的大小為0,假如需要增加1024M的大小。

判定新交換文件的大小,將大小乘以1024來判定塊的大小。例如,大小為64MB的交換文件的塊大小為65536,在 shell 提示下以根用戶身份鍵入以下命令,其中的 count 等於想要的塊大小。

# dd if=/dev/zero of=/home/swap bs=1M count=1024

1024000+0 records in
  1024000+0 records out

格式化交換文件,將swap文件格式化成s文件系統,系統才能使用

# mkswap /home/swap
  Setting up swapspace version 1, size = 1023996 KiB

3. 啟動交換分區文件

假如想立即啟用交換分區文件,請執行:

# swapon /home/swap

要停止使用新創建的swap文件,只要執行 swapoff/home/swap命令即可.

檢驗增加後的swap分區大小

# free -m

total used free shared buffers cached
  Mem: 1006 994 12 0 4 929
  -/+ buffers/cache: 60 946
  Swap: 999 0 999

4. 如希望在系統再次啟動時,自動啟用剛增加的swap,可編輯/etc/fstab文件:

# vi /etc/fstab,增加如下行

/home/swap swap swap defaults 0 0

linux內存不足,swap交換分區創建