现象和解决方法
[@@@@@@]# free
total used free shared buffers cached
Mem: 1024976 248992 775984 0 16820 73128
-/+ buffers/cache: 159044 865932
Swap: 0 0 0
整个swap没有加载上,于是考虑到是扩展分区大小造成的,检查fstab,没有异常。用swapon加载提示:
[@@@@@@]# swapon -a
swapon: /dev/xvdb: read swap header failed: Invalid argument
原来是扩展后的swap分区没有格式化(初始化)。
[@@@@@@]# mkswap -f /dev/xvdb
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=xxxxxxxxx-xxx-xxx-xxxx-xxxxxxxxx
[@@@@@@]# swapon -a
再free一下看看:
[@@@@@@]# free
total used free shared buffers cached
Mem: 1024976 249000 775976 0 16932 73108
-/+ buffers/cache: 158960 866016
Swap: 1048572 0 1048572
正常加载了。
关于swap一些介绍
1.增加交换分区文件及大小
如上,当前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
设置交换文件:
# mkswap /home/swap
Setting up swapspace version 1, size = 1023996 KiB
2.启动交换分区文件
假如想立即启用交换分区文件,请执行:
# swapon /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
3.如希望在系统再次启动时,自动启用刚增加的swap,可编辑/etc/fstab文件:
# vi /etc/fstab,增加如下行
/home/swap swap swap defaults 0 0