阿里云服务器 ECS Linux SWAP 配置概要说明

SWAP 简介

Linux 中的 SWAP(交换分区),相似于 Windows 的虚拟内存。系统会把一部分硬盘空间虚拟成内存使用,将系统内非活动内存换页到 SWAP,以提升系统可用内存。html

注:参阅 ECS 使用须知,云服务器 ECS 若是您使用普通云盘,不建议使用swap分区。若是是高效云盘或SSD云盘,能够根据实际状况使用swap分区。vim

SWAP 配置介绍及 FAQ

开启 SWAP

一、建立用于交换分区的文件:api

  1. dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block

:block_size、number_of_block 大小能够自定义,好比 bs=1M count=1024 表明设置 1G 大小 SWAP 分区。bash

二、设置交换分区文件:服务器

  1. mkswap /mnt/swap

 

三、当即启用交换分区文件app

  1. swapon /mnt/swap

 

:若是在 /etc/rc.local 中有 swapoff -a 须要修改成 swapon -a 性能

 

四、设置开机时自启用 SWAP 分区:3d

须要修改文件 /etc/fstab 中的 SWAP 行,添加code

  1. /mnt/swap swap swap defaults 0 0

 

:/mnt/swap 路径能够修改,能够根据建立的 SWAP 文件具体路径来配置。htm

五、修改 swpapiness 参数

在 Linux 系统中,能够经过查看 /proc/sys/vm/swappiness 内容的值来肯定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,而且把内存中的数据及时地置换到 SWAP 分区。

查看修改前为 0,须要在物理内存使用完毕后才会使用 SWAP 分区:

 

可使用下述方法临时修改此参数,假设咱们配置为空闲内存少于 10% 时才使用 SWAP 分区:

  1. echo 10 >/proc/sys/vm/swappiness

 

若须要永久修改此配置,在系统重启以后也生效的话,能够修改 /etc/sysctl.conf 文件,并增长如下内容:  

  1. # vim /etc/sysctl.conf
  2. vm.swappiness=10
  3. # sysctl -p

关闭 SWAP

当系统出现内存不足时,开启 SWAP 可能会因频繁换页操做,致使 IO 性能降低。若是要关闭 SWAP,能够采用以下方法。

一、free -m 查询 SWAP 分区设置:

 

二、使用命令 swapoff 关闭 SWAP,好比:

  1. swapoff /mnt/swap

 

三、修改 /etc/fstab 文件,删除或注释相关配置,取消 SWAP 的自动挂载:

 

四、  经过 free -m  确认 SWAP 已经关闭。

 

五、 swappiness 参数调整:

可使用下述方法临时修改此参数,这里配置为 0%:

  1. echo 0 >/proc/sys/vm/swappiness

若须要永久修改此配置,在系统重启以后也生效的话,能够修改 /etc/sysctl.conf 文件,并增长如下内容:

  1. # vim /etc/sysctl.conf
  2. vm.swappiness=0
  3. # sysctl -p

Centos 使用 mkswap 格式化文件时报错的处理方法

问题现象

使用 mkswap 建立 SWAP 时出现相似以下报错信息:

  1. mkswap: error: swap area needs to be at least 40 KiB

 

问题缘由

指定的 SWAP 文件过小,SWAP 文件至少应该大于 40KB。

解决方法

从新生成更大的文件格式化为 SWAP 便可。

 

参考资料

https://help.aliyun.com/knowledge_detail/42534.html?spm=5176.11065259.1996646101.searchclickresult.105a3d5boD4ou4

相关文章
相关标签/搜索