在安装linux时给swap分区的空间过小,导致安装oracle时提示swap空间不够,于是想到通过增加一个swap文件来扩大swap空间,上网找到方法如下:
------------------------------
第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件
第二步:添加交换文件并设置其大小为2G,使用如下命令
过段时间就返回如下结果:
2048000 0 records in
2048000 0 records out
2097152000 bytes (2.1 GB) copied, 272.867 seconds, 7.7 MB/s
第三步:创建(设置)交换空间,使用命令mkswap
Setting up swapspace version 1, size = 2097147 kB
第四步:检查现有的交换空间大小,使用命令free
total used free shared buffers cached
Mem: 1011 989 21 0 1 875
-/ buffers/cache: 112 898
Swap: 1027 0 1027
或者检查meminfo文件
grep SwapTotal /proc/meminfo
第五步:启动新增加的2G的交换空间,使用命令swapon
[root@sense image]# swapon /opt/image/swap
第六步:确认新增加的2G交换空间已经生效,使用命令free
total used free shared buffers cached
Mem: 1011 995 15 0 4 877
-/ buffers/cache: 113 897
Swap: 3027 0 3027
或者检查meminfo文件
grep SwapTotal /proc/meminfo
第七步:修改/etc/fstab文件,使得新加的2G交换空间在系统重新启动后自动生效
在文件最后加入:
/opt/image/swap swap swap defaults 0 0
-------------------------------
能通过增加swap进行扩大,当然也能通过删除swap进行缩小,如何通过删除swap文件缩小swap空间呢?方法如下:
1)成为超级用户
2)使用Swapoff命令收回Swap空间。
#/usr/sbin/swapoff swapfile
3)编辑/etc/fstab文件,去掉此Swap文件的实体。
4)删除此文件。
#rm swapfile
5)当然,如果此Swap空间不是一个Swap文件,而是一个分区,则需创建一个新的文件系统,再挂接到原来的文件系统上。