linux增加swap内存


涉及的命令

free:查看内存状态命令,可以显示memory、swap、buffer/cache等的大小及使用状况;

dd:读取,转换并输出数据命令;

mkswap:设置交换区

swapon:启用交换区,相当于mount

swapoff:关闭交换区,相当于umount

查看swap空间大小

通过查看内存状态命令free可以获得swap空间大小,正常状况下可使用以下三个命令之一:

free

free -m

free -h

比如下面是free -h在我主机上的输出:

$ free -h

total used free shared buff/cache available

Mem: 13G 3.5G 2.7G 367M 7.4G 9.4G

Swap: 11G 126M 11G

关闭所有交换分区

命令如下:

swapoff -a

通过swap分区文件增加swap空间

1. 创建swap分区的文件

dd if=/dev/zero of=swapfile bs=1M count=1024

其中bs是每块的大小,count是块的数量;bs*count,就是swap文件的大小:这里1M*1024=1G。可以根据需要自行调整。

此外,swapfile是swap文件的路径,可以根据需求修改。

2. 格式化交换分区文件

mkswap swapfile

这里的路径和之前的路径要对应起来。

3. 启用swap分区文件

swapon swapfile

4. 添加开机启动

修改/etc/fstab这个文件,添加或者修改这一行:

swapfile swap swap defaults 0 0

注意,路径还是要对应,而且必须是全路径。最后两个是零,不是大写字母O。

此项不是必须的。如果不修改开机启动配置,重启之后的swap空间会重置,之前配置丢失。

通过新建分区来扩展原有swap空间

这个是Linode的默认做法,这里也介绍一下。此方法与swap文件类似,只是使用了一个独立分区,而不是文件。

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

使用mkswap设置交换分区:

mkswap /dev/sdb2

启用交换分区

swapon /dev/sdb2

修改/etc/fstab添加到开启启动项:

/dev/sdb2 swap swap defaults 0 0

或者

查看磁盘分区情况

#swapoff -a

#lvdisplay

#/dev/centos/swap

#lvextend -L +30G /dev/centos/swap


#mkswap /dev/centos/swap

#swapon /dev/centos/swap


分享到:


相關文章: