如何在安装Linux之后自己修改Swap分区大小

1。你有尚未分配的硬盘空间,把它创建成交换分区,加到/etc/fstab中 
2。否则,如果你的以分区磁盘中有空闲空间,那么创建交换文件,命令mkswap 
3.否则,重装 

你的内存如果超过256兆,可以不要交换分区


---


测试试境为RH AS4
假如您不清楚swap到底是什么,或分区的概念,那么下面的过程对您来讲可能会有一定的风险。
自己扩大Swap也是比较方便的。您必须有root权限,过程中一定要很小心,一不小心就破坏了整个硬盘的数据,执行下面的过程之前您需要三思而行,错误后的后果由执行者自己承担,我这个script只是作为参考。
1.以root进入控制台
2. #swapoff -a          #停止交换分区
3. #fdisk /dev/hda       #swap所在硬盘的硬盘设备文档,可能会有所不同,您最好察看/etc/fstab 将有swap这一行的hd*后面的数字去掉
4. 在fdisk里自己操作,用d先删除swap分区,然后再n添加分区(添加时硬盘必须要有可用空间,空间大小的参数是柱面数cylinders,不是字节,您需要自己计算,p命令能够看到每柱面的字节数),然后再用t将新添的分区id改为82(linux swap类型),每一步后都用w将操作实际写入硬盘(没用w之前您的操作无效)。再说一遍,这步必须很小心,一弄错您的系统可能就坏了,数据丢失。
5. #mkswap /dev/hda6       #格式化swap分区,这里的hda6要看您加完后p命令显示的实际分区设备名
6. #swapon /dev/hda6       #看是否能够启动新的swap分区
7.修改/etc/fstab 中swap这一行的设备名如/dev/hda6(假如您没改变位置,一般是和以前相同的),让他启动时自己加载。需要注意的是,假如您这里原来是个 LABEL=SWAP-hda6这样的东西,那么您有两个选择:第一.将他改成实际的设备名,如:/dev/hda6。第二.不改变 /etc/fstab,在第5步中用的命令行需要稍有不同 #mkswap -L SWAP-hda6 /dev/hda6 就是说格式化时为swap分区加上LABEL,该功能只有在新的发行中才支持,能够用mkswap --help察看他是否支持-L option.
8.重启,一切ok

Linux系统中增加Swap分区大小

一、查看系统当前的分区情况:
>free -m
             total       used       free     shared    buffers     cached
Mem:           438        432          6          0          8        141
-/+ buffers/cache:        282        156
Swap:         2047       1375        671
二、创建用于交换分区的文件:如果要增加2G大小的交换分区,则命令写法如下,其中的 count 等于想要的块大小
>dd if=/dev/zero of=/home/swap bs=block_size count=number_of_block
dd if=/dev/zero of=/home/swap bs=1024 count=2048000
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 60.4492 seconds, 34.7 MB/s
三、设置交换分区文件:
>mkswap /home/swap
四、立即启用交换分区文件:
>swapon /home/swap
五、若要想使开机时自启用,则需修改文件/etc/fstab中的swap行:
/home/swap swap swap defaults 0 0

[root@test ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           438        433          5          0          2     

267
-/+ buffers/cache:        163        275
Swap:         4047       1465       2581

---

查看有多少个交换分区或交换文件在使用:
cat /proc/swaps
或free

df命令是显示分区信息及其使用情况,但是交换文件就无法查看了。 

有关参考资料:http://blog.chinaunix.net/u/27173/showart_415476.html 

添加和删除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 


---



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值