zoukankan      html  css  js  c++  java
  • 阿里云服务器 ECS Linux SWAP 配置概要说明

    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

  • 相关阅读:
    tensorflow (七) k-means
    如何提升开发效率-前端技术选型篇
    Spring AOP详解
    Vue.js学习笔记-入门
    拥抱Vue,抛弃jQuery
    HTML+CSS实现审核流程步骤效果
    测试SpringMVC可能出现的线程安全问题
    CGLib动态创建对象和属性
    jconsole观察jvm中线程及GC情况
    Java NIO学习笔记-Selector
  • 原文地址:https://www.cnblogs.com/birdstudio/p/8507867.html
Copyright © 2011-2022 走看看