基礎知識:
M = amount of RAM in GB, and S = Amount of swap in GB ,then
If M < 2
S = M * 2
Else
S = M + 2
使用這個公式,一個2GB物理內存的系統須要4GB的swap,而一個擁有3GB物理內存的系統須要5GB的.
使用free或者cat /proc/swaps命令來查看有多少或者有哪些swap在使用.使用時,請根據自身狀況。
添加和刪除swap,你有三種可選的辦法:
1.建立/刪除一個新的swap分區
2.建立/刪除一個新的swap文件
3.在LVM2邏輯捲上擴展/減少swap空間
我先描述下實驗環境:
RHEL5 AP一臺,測試時,請使用install CD disk1引導系統進入rescue模式.
緣由:RedHat Enterprise Linux 5.0.0 Deployment_Guide Page61 important提示
"The best way to achieve swap space modifications is to boot your system in rescue mode".
個人分區狀況,/boot單獨一個主分區,其餘全部分區均在LVM下,個人習慣是這樣.考慮到可擴展性.boot是引導分區
在LVM下沒法正常啓動.故單獨作爲一個分區.
Part One:使用LVM2邏輯卷添加和減小swap空間(前提:你的swap分區在lvm2上)
1.添加swap空間
首先disable swap.個人卷組名爲VG0,爲了方便辨認,我給swap分區就命名爲swap.請參見本身實際分區狀況酌情處理.
#swapoff -v /dev/VG0/swap
從新分配swap分區的大小,增長256M
#lvm lvresize /dev/VG0/swap -L +256M
格式化swap space
#mkswap /dev/VG0/swap
從新啓用swap
#swapon -va
而後檢查是否成功
cat /proc/swaps 或者free
2.從LVM2邏輯卷中減小swap空間
禁用swap
#swapoff -v /dev/VG0/swap
減小swap空間
#lvm lvreduce /dev/VG0/swap -L 256M
格式化新生成的swap空間
#mkswap /dev/VG0/swap
啓用swap
#swapon -va
測試是否成功
#cat /proc/swaps 或者free
Pate Two:在LVM2邏輯捲上建立和刪除一個swap分區
1.建立swap分區(前提:你已經準備好了LVM卷)
首先在LVM2邏輯捲上爲swap建立一個新的分區,分區大小由-L指定,爲256M.
(個人卷組名仍然是VG0,新建的分區爲swap2)
#lvm lvcreate VG0 -n swap2 -L 256M
而後格式化swap2
#mkswap /dev/VG0/swap2
修改/etc/fstab,添加以下內容,這樣在開始時能夠自動加載,永久生效:
/dev/VG0/swap2 swap swap defaults 0 0
啓用swap2
#swapon -va
測試是否成功
#cat /proc/swaps 或者free
2.刪除邏輯捲上的swap2分區
一樣仍是先禁用swap2
#swapoff -v /dev/VG0/swap2
刪除邏輯捲上的swap2
#lvm lvremove /dev/VG0/swap2
將下面這條信息從/etc/fstab中刪除
/dev/VG0/swap2 swap swap defaults 0 0
測試結果
#cat /proc/swaps 或者free
Part Three建立和刪除swap文件(對於沒有設置LVM2的朋友這個是最簡單的辦法)
1.建立swap文件(須要在交互式shell下使用root權限)咱們假設給它64MB
#dd if=/dev/zero of=/swapfile bs=1024 count=65536
有關dd命令的詳細用法,請使用man dd來查看
設置swap文件
#mkswap /swapfile
(mkswap不僅是用與swap分區的,也用與swap文件,man mkswap)
啓用swapfile,但這並非永久生效的.
#swapon /swapfile
永久生效的啓動swapfile,修改/etc/fstab,添加以下一行:
/swapfile swap swap defaults 0 0
檢查是否生效
#cat /proc/swaps 或者free
2.刪除swapfile文件
禁用swap
#swapoff -v /swapfile
刪除/etc/fstab中的下面條目
/swapfile swap swap defaults 0 0
刪除swapfile
#rm /swapfile
shell