Swap介绍:

Linux 将物理内存分为内存段,叫做页面。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放对于页面的内存。物理内存和交换空间的总大小是可用的虚拟内存的总量。

Swap即:交换分区,类似于Windows的虚拟内存,但物理内存不足时,把部分硬盘空间当成虚拟内存使用,从而解决了物理内存容量不足。

优点:节省成本。
缺点:性能不足。

此方法不局限于Centos 7,Linux系统均可使用。

操作用户:root。

1.添加swap交换分区空间

使用dd命令创建swap交换分区文件/dev/mapper/centos-swap,大小为2G:

​​


​$ ​​​​dd​​​ ​​if​​​​=​​​​/dev/zero​​​ ​​of=​​​​/dev/mapper/centos-swap​​​ ​​bs=1024 count=2048000​


格式化swap分区:

​​


​$ mkswap ​​​​/dev/mapper/centos-swap​


设置交换分区:

​​


​$ mkswap -f ​​​​/dev/mapper/centos-swap​


激活swap分区:

​​


​$ swapon ​​​​/dev/mapper/centos-swap​


设为开机自动启用:

​​


​$ vim ​​​​/etc/fstab​


在该文件底部添加如下内容:



​/dev/mapper/centos-swap​​​ ​​swap swap default 0 0​


2.删除swap交换分区

停止正在使用的swap分区:

​​


​$ swapoff ​​​​/dev/mapper/centos-swap​


删除swap分区文件:

​​


​$ ​​​​rm​​​ ​​/dev/mapper/centos-swap​


删除或注释在/etc/fstab文件中的以下开机自动挂载内容:

​​


​/dev/mapper/centos-swap​​​ ​​swap swap default 0 0​


大功告成!

Centos7下增加swap分区大小

如果系统的物理内存用光了,系统就会跑得很慢,但仍能运行;如果Swap空间用光了,那么系统就会发生错误。例如,Swap空间用完,则服务进程无法启动,通常会出现“application is out of memory”的错误,严重时会造成服务进程的死锁。因此Swap空间的分配是很重要的,通常Swap空间的大小应是物理内存的2-2.5倍.

此方法不限于centos,linux均适用

以下命令均需在root帐号下操作

1.先用free -m查看一下swap的大小

swap_物理内存

2. 使用dd命令创建/home/swap这么一个分区文件。文件的大小是512000个block,一般情况下1个block为1K,所以这里空间是512M。

​​


​#dd if=/dev/zero of=/home/swap bs=1024 count=512000​


swap_物理内存_02

3.接着再把这个分区变成swap分区。

​​


​#/sbin/mkswap /home/swap​


swap_物理内存_03

4.再接着使用这个swap分区。使其成为有效状态。

​​


​#/sbin/swapon /home/swap​


swap_虚拟内存_04

现在再用free -m命令查看一下内存和swap分区大小,就发现增加了512M的空间了。

swap_centos_05

注意当计算机重启了以后,发现swap还是原来那么大,新的swap没有自动启动,还要手动启动。那我们需要修改/etc/fstab文件,增加如下一行

​​


​#vi /etc/fstab​

​/home/swap​​​ ​​swap swap defaults 0 0​


swap_centos_06

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。