分类: LINUX
2010-06-07 18:33:30
1.查看系统Swap空间使用
[root@jumper usr]# free
total used free shared buffers cached
Mem: 513980 493640 20340 0 143808 271780
-/+ buffers/cache: 78052 435928
Swap: 1052248 21256 1030992
2.在空间合适处创建swap文件
[root@jumper usr]# mkdir swap
[root@jumper usr]# cd swap
[root@jumper swap]# dd if=/dev/zero of=swapfile bs=1024 count=10000
10000+0 records in
10000+0 records out
[root@jumper swap]# ls -al
total 10024
drwxr-xr-x 2 root root 4096 7月 28 14:58 .
drwxr-xr-x 19 root root 4096 7月 28 14:57 ..
-rw-r--r-- 1 root root 10240000 7月 28 14:58 swapfile
[root@jumper swap]# mkswap swapfile
Setting up swapspace version 1, size = 9996 KiB
3.激活swap文件
[root@jumper swap]# swapon swapfile
[root@jumper swap]# ls -l
total 10016
-rw-r--r-- 1 root root 10240000 7月 28 14:58 swapfile
[root@jumper swap]# free
total used free shared buffers cached
Mem: 513980 505052 8928 0 143900 282288
-/+ buffers/cache: 78864 435116
Swap: 1062240 21256 1040984
[root@jumper swap]#
================================================================
临时增加swap空间的。方法如下:
step 1:
#dd if=/dev/zero of=/home/swap bs=1024 count=500000
注释:of=/home/swap,放置swap的空间; count的大小就是增加的swap空间的大小,1024就是块大小,这里是1K,所以总共空间就是bs*count=500M
step 2:
# mkswap /home/swap
注释:把刚才空间格式化成swap各式
step 3:
#swapon /home/swap
注释:使刚才创建的swap空间
关闭刚开辟的swap空间,只需命令:#swapoff
====================================================================
制作SWAP有两种方法:
1.使用分区做为SWAP
2.使用文件做为SWAP
使用分区做为SWAP比较好,速度比文件的快,也不容易产生磁盘碎片
所有应该尽量使用分区作为SWAP.
先说说使用文件做为SWAP吧:
因为做为SWAP的文件,必须是连续的,所以需要使用dd命令创建它:
[root@NEWLFS ~]#dd if=/dev/zero of=swapfile bs=1024 count=65536
65536+0 records in
65536+0 records out
[root@NEWLFS ~]#
这样就制作了一个64M的swapfile (文件名自定)
如果想制作128M的SWAP,count值:128*1024=131072
制作128M的SWAP 命令就变成了:
dd if=/dev/zero of=swapfile bs=1024 count=131072
会计算了吧 ^_^
使用mkswap命令制作swap:
[root@NEWLFS ~]#mkswap swapfile
Setting up swapspace version 1, size = 67104 kB
[root@NEWLFS ~]#
最后加在/etc/fstab,每次开机都会自动启用SWAP:
编辑fstab,在最后加入一行,格式如下:
/root/swapfile swap swap defaults 0 0
OK,启用它:
[root@NEWLFS ~]#swapon -a
使用swapon -s 查看是否成功启用了:
[root@NEWLFS ~]#swapon -s
Filename Type Size Used Priority
/root/swapfile file 65528 0 -1
OK,swapfile已经投入使用啦 ^_^
再来看看使用分区作为swap :
注意:对分区不熟悉,不要轻易操作,重要数据要备份,硬盘有价,数据无价。
首先用分区工具分出一个分区作为SWAP,分区类型标识为82(Linux swap)
这里我使用/sbin/cfdisk比fdisk简单用一些
[root@NEWLFS ~]#cfdisk
.........略
Name Flags Part Type FS Type [Label] Size (MB)
--------------------------------------------------------------------------------
hda1 Boot Primary W95 FAT32 6859.89
hda5 Logical Linux ReiserFS 22413.89
hda6 Logical NTFS [^C] 26386.70
hda7 Logical Linux ext3 10734.00
hda8 Logical Linux ext3 106.93
hda9 Logical Linux raid autodetect 3619.13
hda10 Logical Linux ext3 7221.80
hda11 Logical Linux swap / Solaris 534.65
hda12 Logical Linux raid autodetect 2146.80
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ] [ Quit ]
[ Type ] [ Units ] [ Write ]
我没有空闲分区了 假设我已经将hda11删除掉,现在hda11是空闲空间。
选择 [Type] :
...........略
16 Hidden FAT16 82 Linux swap / Solaris E4 SpeedStor
17 Hidden HPFS/NTFS 83 Linux EB BeOS fs
18 AST SmartSleep 84 OS/2 hidden C: drive EE EFI GPT
Enter filesystem type: 82 ----->;输入82
返回主菜单,hda11空间空间就应该变成了上面所示的那样。
确定无误,选择 [ Write ] 写入分区表就OK了。
使用mkswap命令制作swap:
[root@NEWLFS ~]#mkswap /dev/hda11
Setting up swapspace version 1, size = 67104 kB
[root@NEWLFS ~]#
最后加在/etc/fstab,每次开机都会自动启用SWAP:
编辑fstab,在最后加入一行,格式类似如下:
/dev/hda11 swap swap defaults 0 0
OK,启用它:
[root@NEWLFS ~]#swapon -a
使用swapon -s 查看是否成功启用了:
[root@NEWLFS ~]#swapon -s
Filename Type Size Used Priority
/dev/hda11 partition 522072 0 -1
OK,/dev/hda11也投入使用喽
========================================================================
这是文件的swap分区
第一步:
dd if=/dev/zero of=swapfile count=200 bs=1024k
count 为几个块
bs 每个块多少个字节
第二步:
mkswap swapfile (你刚刚生成的文件)
第三步:
swapon swapfile
用free命令看看就知道了,或cat /proc/swaps
Filename Type Size Used Priority
/dev/hda6 partition 497972 91584 -1
/root/swapfile file 10232 0 -2
/root/swapfile 就是你生成的文件
第四步:
在/etc/fstab 中加入
/root/swapfile swap swap defaults 0 0
每次重启后swap分区自己mount上了。
如果你想去掉就用swapoff swapfile
对于分区格式的swap,你可以分出一个分区来,用mkswap 分区, swapon 分区, 在fstab中把/root/swapfile 换成你的分区就可以了。
=====================
问题 案例:(解决)
在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间。
添加swap交换空间的步骤如下: