您的位置:首页 > 运维架构 > Linux

centos 下增加swap空间大小(续and 删除)

2015-12-22 16:08 501 查看
centos 下增加swap空间大小 --------------

想在虚拟机里面安装oracle10g,发现默认的swap交换空间不满足最低要求,因为我分配的物理内存是1G,那么就按照要求需要2G的swap交换空间,默认只有1G的交换空间。添加swap交换空间的步骤如下:

第一步:确保系统中有足够的空间来用做swap交换空间,我使用的是KVM,准备在一个独立的文件系统中添加一个swap交换文件,在/opt/image中添加2G的swap交换文件

第二步:添加交换文件并设置其大小为2G,使用如下命令

[root@sense image]# dd if=/dev/zero of=/opt/image/swap bs=1024 count=2048000

过段时间就返回如下结果:

2048000+0 records in

2048000+0 records out

2097152000 bytes (2.1 GB) copied, 272.867 seconds, 7.7 MB/s

第三步:创建(设置)交换空间,使用命令mkswap

[root@sense image]# mkswap /opt/image/swap

Setting up swapspace version 1, size = 2097147 kB

第四步:检查现有的交换空间大小,使用命令free

[root@sense image]# free -m

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

[[root@sense image]# free -m

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

虚拟机实例:

dd if=/dev/zero of=/swapfiles bs=1024 count=8192000

mkswap /swapfiles

free -m

swapon /swapfiles

free -m

vim /etc/fstab

/swapfiles swap swap defaults 0 0

****************************************************************************************************************************************************

SWAP是Linux中的虚拟内存,用于扩充物理内存不足而用来存储临时数据存在的。它类似于Windows中的虚拟内存。在Windows中,只可以使用文件来当作虚拟内存。而linux可以文件或者分区来当作虚拟内存。

首先查看当前的内存和swap 空间大小(默认单位为k, -m 单位为M):

free -m

1

free-m



此处可以看到总内存是503M,SWAP不存在。

查看swap信息,包括文件和分区的详细信息

# swapon -s

1

# swapon -s

或者

# cat /proc/swaps

1

# cat /proc/swaps

如果都没有,我们就需要手动添加交换分区。注意,OPENVZ架构的VPS是不支持手动添加交换分区的。

添加交换空间有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用, 则添加交换文件。

一、增加swap交换文件

1、使用dd命令创建一个swap交换文件

dd if=/dev/zero of=/home/swap bs=1024 count=1024000

1

ddif=/dev/zeroof=/home/swapbs=1024count=1024000

这样就建立一个/home/swap的分区文件,大小为1G。

2、制作为swap格式文件:

mkswap /home/swap

1

mkswap/home/swap

3、再用swapon命令把这个文件分区挂载swap分区

/sbin/swapon /home/swap

1

/sbin/swapon/home/swap

我们用free -m命令看一下,发现已经有交换分区了。



但是重启系统后,swap分区又变成0了。

4、为防止重启后swap分区变成0,要修改/etc/fstab文件

vi /etc/fstab

1

vi/etc/fstab

在文件末尾(最后一行)加上

/home/swap swap swap default 0 0

1

/home/swapswap
swap default0
0

这样就算重启系统,swap分区还是有值。

删除swap交换文件

1、先停止swap分区

/sbin/swapoff /home/swap

1

/sbin/swapoff/home/swap

2、删除swap分区文件

rm -rf /home/swap

1

rm-rf/home/swap

3、删除自动挂载配置命令

vi /etc/fstab

1

vi/etc/fstab

这行删除

/home/swap swap swap default 0 0

1

/home/swapswap
swap default0
0

这样就能把手动增加的交换文件删除了。

注意:

1、增加删除swap的操作只能使用root用户来操作。

2、装系统时分配的swap分区貌似删除不了。

3、swap分区一般为内存的2倍,但最大不超过2G

二、使用分区来做SWAP(虚拟内存).

1 使用fdisk来创建交换分区(假设 /dev/sdb2 是创建的交换分区)

2 使用 mkswap 命令来设置交换分区:

# mkswap /dev/sdb2

1

# mkswap /dev/sdb2

3 启用交换分区:

# swapon /dev/sdb2

1

# swapon /dev/sdb2

4 写入/etc/fstab,以便在引导时启用:

/dev/sdb2 swap swap defaults 0 0

1

/dev/sdb2swap
swap defaults0
0

删除交换分区

步骤如下:

1、先停止swap分区

/sbin/swapoff /dev/sdb2

1

/sbin/swapoff/dev/sdb2

2、删除自动挂载配置命令

vi /etc/fstab

1

vi/etc/fstab

这行删除

/dev/sdb2 swap swap defaults 0 0

1

/dev/sdb2swap
swap defaults0
0

这样就能把手动增加的交换分区删除了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: