文章目录
前言
近期,给用户安装数据库软件时提示“检查交换空间: 可用的交换空间为 0 MB, 所需的交换空间为 150 MB。 未通过”。检查交换分区时发现swap交换分区过小,剩余可用空间为0。就在搭建虚拟机环境,测试swap交换分区的调整。
Swap(交换空间)是一种操作系统的内存管理技术,用于扩展系统的可用内存。它的由来可以追溯到早期的计算机系统,特别是那些内存较小的系统。
早期计算机的内存容量非常有限,而且往往不能满足程序运行所需的内存空间。这导致一些较大的程序无法同时加载到内存中运行,因此需要一种机制来解决这个问题。
在这种情况下,操作系统采用了一种叫做交换(swapping)的技术。当计算机系统中没有足够的物理内存可用时,操作系统将一部分暂时不活动的程序或数据移动到磁盘上的交换空间中,腾出足够的内存空间给正在运行的程序使用。当需要的程序或数据再次被访问时,操作系统可以将其从交换空间中恢复到内存中。
交换技术的使用需要一些额外的开销,例如数据的读写延迟和磁盘空间的消耗。因此,交换的使用应该谨慎,只在必要时才使用。
随着计算机硬件的发展,内存容量的增加,交换的使用逐渐减少。现代操作系统往往采用更复杂的内存管理技术,如虚拟内存,以提供更灵活和高效的内存管理方式。但是,交换技术作为内存管理的基础概念仍然是重要的,并在某些情况下仍然得到应用。
一、查看当前交换分区?
1.1.查询交换分区和可用空间
free -m
查询结果如下,本测试环境为方便测试,将初始swap空间设置为200M
1.2.查询当前的交换分区挂载路径
swapon -s
查询结果如下,
二、增加swap交换分区
2.1.使用新的分区增加swap分区
创建新分区
fdisk /dev/sdb
格式化新分区
mkswap /dev/sdb1
将新创建的交换分区添加到系统中
swapon /dev/sdb1
验证交换分区是否添加
swapon -s
free -m
将新的swap分区设置为开机自动加载
vi /etc/fstab
UUID在前面格式化分区的时候有显示,如果没有及时记录可以通过如下查询
blkid
2.2.创建文件来做swap分区
创建一个4G的空文件,路径根据情况自定义。
fallocate -l 4G /opt/swapfile
将新创建的文件转换为交换分区。
mkswap /opt/swapfile
将交换分区文件加入到swap系统分区中。
swapon /opt/swapfile
验证交换分区是否添加
swapon -s
free -m
将新的swap分区设置为开机自动加载
vi /etc/fstab
三、删除swap交换分区
查看当前swap分区情况
swapon -s
free -m
开机自动加载项删除指定的UUID或文件路径
vi /etc/fstab
删除交换分区
swapoff /dev/sdb1
swapoff /opt/swapfile
四、建议swap交换分区大小
内存≤4G,建议swap分区设置为1.5倍的内存大小。
4G<内存≤16G,建议swap分区设置为1倍内存大小。
32G<内存,swap分区根据服务器用途设置为0.5倍左右的内存大小。
个人习惯,仅供参考。
总结
本文仅仅简单介绍了Linux系统下swap分区的添加和删除。
本文仅用于个人学习记录,仅代表个人观点,如有错误之处,敬请批评指正。