linux下的Swap虚拟内存操作

Swap分区是在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap分区中,等到那些程序要运行时,再从Swap分区中恢复保存的数据到内存中。

合理的配置Swap分区能够提升服务器的运行流畅度(一般设置为真实物理内存的2.5倍左右),让服务器能够临时完成一些性能要求较高的任务,像某些小内存的服务器,如果不设置Swap分区的话,几乎无法运行任何程序、无法执行任何编译安装操作,接下来将为大家讲解如何进行Swap分区操作!

查看服务器内存配置

首先我们先查看自己服务器的内存情况:

free # 以Kb为单位查看当前服务器的内存配置情况,若要以Mb为单位查看则是: free -m

# 一般显示结果为(没有设置Swap分区)
[root@VM_0_13_centos ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1882892      153868      651176         644     1077848     1544180
Swap:             0           0           0

# 已经存在Swap分区的情况
[root@VM_0_13_centos ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1882892      152820      126080         644     1603992     1538336
Swap:        511996           0      511996

增加Swap分区

一键脚本

无论是否已经存在Swap分区,以下操作都是相同的,假如是懒癌患者,不愿意一步一步按照操作指导进行,则可以直接使用笔者的一键脚本:

# 一键命令(注:1、以下是一条命令,请全部复制之后一块执行;2、仅在CentOS系统上进行过相关测试)
yum install -y wget && wget -N --no-check-certificate https://cloud.deng-quan.com/Microd-script/swap.sh && chmod +x swap.sh && ./swap.sh

运行一键脚本命令之后,按照脚本提示输入相关信息即可!

手动操作

如果大家想自己一步一步体验Swap分区操作的话,可以安装如下步骤进行:

# 首先在home文件夹下新建一个大小为512M的文件(可自定义文件大小,只需修改count后面的参数即可)
dd if=/dev/zero of=/home/swap bs=1024 count=512000

# 然后对新建的文件进行格式化为swap分区
mkswap /home/swap

# 改变文件权限,仅限root用户读写
chmod -R 0600 /home/swap

# 挂载并激活swap分区
swapon /home/swap

# 设置开机自动挂载swap分区
vi /etc/fstab
# 在fstab文件末尾添加如下语句
/home/swap      swap             swap    defaults        0 0

至此Swap分区的添加操作就已经完成了,大家可以用free命令查看修改之后的Swap分区大小了!

删除Swap分区

如果大家想删除Swap分区了就可以再次运行笔者提供的一键脚本之后输入: n 即可成功删除通过笔者脚本创建的Swap分区,其他分区的删除请按照如下步骤自行删除!

# 首先查看Swap文件的位置
cat /etc/fstab

# 显示结果一般如下(第二列和第三列表明该文件为Swap文件,第一列即为Swap文件位置)
[root@VM_0_13_centos ~]# cat /etc/fstab
/dev/vda1            /                    ext4       noatime,acl,user_xattr 1 1
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

/home/swap      swap             swap    defaults        0 0

# 查看文件位置之后首先取消Swap分区的挂载
swapoff /home/swap # 请修改成要删除的Swap文件地址

# 随后删除该文件
rm -f /home/swap

最后再将fstab文件中有关Swap分区的行给去除即可!

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注

//Microd //Microd