RHEL5下swap的实现 |
基础知识: 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
如果想了解更多内容,请参考RHEL5 Deployment_Guide,命令相关用法请使用man command
| | | |
2还可以通过
dd if=/dev/zero of=/tmp/swap bs=1024 count=2048000
读入了 2048000+0 个块
输出了 2048000+0 个块
[root@server17 ~]# mkswap /tmp/swap
Setting up swapspace version 1, size = 2097147 kB
[root@server17 ~]# swapon /tmp/swap
创建swap挂在上!
阅读(864) | 评论(0) | 转发(0) |