SWAP 简介

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

注:参阅 ECS 使用须知,云服务器 ECS 如果您使用普通云盘,不建议使用swap分区。如果是高效云盘或SSD云盘,可以根据实际情况使用swap分区。

SWAP 配置介绍及 FAQ

开启 SWAP

1、创建用于交换分区的文件:

  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 分区。

2、设置交换分区文件:

  1. mkswap /mnt/swap

3、立即启用交换分区文件

  1. swapon /mnt/swap

:如果在 /etc/rc.local 中有 swapoff -a 需要修改为 swapon -a 

4、设置开机时自启用 SWAP 分区:

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

  1. /mnt/swap swap swap defaults 0 0

:/mnt/swap 路径可以修改,可以根据创建的 SWAP 文件具体路径来配置。

5、修改 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,可以采用如下方法。

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

2、使用命令 swapoff 关闭 SWAP,比如:

  1. swapoff /mnt/swap

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

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

5、 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

阿里云服务器 ECS Linux SWAP 配置概要说明的更多相关文章

  1. 阿里云服务器 ECS Ubuntu系统安装配置

    1. 登陆服务器 系统开通成功后手机会收到阿里云发来的短信,包含公网IP及root登录密码. WEB管理后台方式 可通过阿里云管理后台选择“连接管理终端…”进行登录 提示输入VNC密码 登录成功后显示 ...

  2. 阿里云服务器(ECS)购买及配置总结

    云服务器是一种简单高效.安全可靠.处理能力可弹性伸缩的计算服务.其管理方式比物理服务器更简单高效.用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器. 目前比较知名的与服务器提供商有:阿里云.百 ...

  3. 阿里云服务器 ECS Linux操作系统加固

    1. 账号和口令 1.1 禁用或删除无用账号 减少系统无用账号,降低安全风险. 操作步骤 使用命令 userdel <用户名> 删除不必要的账号. 使用命令 passwd -l <用 ...

  4. 阿里云服务器 ECS Linux 禁止IP 通过 SSH 登录

    这几天买的服务器老是受到黑客攻击被破解登录密码,今天修改了登录规则发现只有固定ip可以访问,其他ip即使有密码也无法登录我的服务器,但是能通过ip访问我的网站,哈哈. 限制 IP SSH 登录解决步骤 ...

  5. 阿里云服务器ECS web环境配置(LNAP)ubantu

    Ubuntu 系统中,可以使用 apt-get 命令来搭建 LNMP环境.这种方式较编译方式安装更加简便 安装Nginx 1.使用 sudo apt-get install nginx 就能自动安装 ...

  6. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  7. 阿里云服务器ECS Ubuntu16.04 初次使用配置教程(图形界面安装)

    原文链接:? 传送门 前一阵子购买了阿里云的云服务器ECS(学生优惠),折腾了一阵子后对有些东西不太满意,所以就重新初始化了磁盘,刚好要重新安装图形界面,于是就顺手写了这么一篇文章. 第一次登陆服务器 ...

  8. 云服务器 ECS Linux 系统 CPU 占用率较高问题排查思路

    https://help.aliyun.com/knowledge_detail/41225.html?spm=5176.7841174.2.2.ifP9Sc 注意:本文相关配置及说明已在 CentO ...

  9. 云服务器 ECS Linux 系统安装图形化桌面 (centos7 ubuntu14)

    基于性能及通用性等因素,默认情况下,阿里云官方公共 Linux 系统镜像不会安装图形化桌面组件.本文简述了常用操作系统图形化桌面安装说明,您可以根据需求进行配置系统. 注意:图形化桌面可能会 显著降低 ...

随机推荐

  1. try catch之ajax调错

  2. 软工实践第二次作业—Wordcount

    Git仓库地址:https://github.com/cwabc/PersonProject-C 一.问题描述 输入一个txt文件名,以命令行参数传入,程序能够统计txt文件中的以下几个指标: 统计文 ...

  3. GinKgoCTF-Crypto

    一:古典密码 一只小羊跳过了栅栏,密码如下: GpKlCeT_FC{rAy_pStiym} 栅栏解密——>11栏 二:滴滴滴 --./-.-/-.-./-/..-./----.--/-../.. ...

  4. 【HDOJ1018】【大数阶乘位数】【斯特林公式】

    http://acm.hdu.edu.cn/showproblem.php?pid=1018 Big Number Time Limit: 2000/1000 MS (Java/Others)     ...

  5. 可变,不可变类型和hash

    可变与不可变类型 截止到目前为止我们已经学过很多数据类型:数字类型.字符串类型.列表类型.元祖类型. 在python中,我们对数据类型还有另外一种分类方式,我们给数据类型分为可变数据类型和不可变数据类 ...

  6. Go Example--指针

    package main import ( "fmt" ) func zeroval(ival int) { ival = 0 } func zeroptr(iptr *int) ...

  7. SQL相关语句

    1.分类 数据定义语言(DDL),用来定义数据库.表 列 ,用到的关键字:create.alter.drop. 数据操作语言(DML),数据库进行更行的操作, insert.delete.update ...

  8. How to scale Complex Event Processing (CEP)/ Streaming SQL Systems?

    转自:https://iwringer.wordpress.com/2012/05/18/how-to-scale-complex-event-processing-cep-systems/ What ...

  9. PHP用curl发送get post put delete patch请求

    function getUrl($url){ $headerArray = array("Content-type:application/json;", "Accept ...

  10. 利用反射C#获取事件列表

    在程序设计中有时候需要动态订阅客户自己的事件,调用完成后又要删除以前订阅的事件.因为如果不删除,有时会造成事件是会重复订阅,导致程序运行异常.一个办法是用反射来控件事件列表.清空方法代码如下: /// ...