• linux swap交换分区


    一、当我们用free -h命令,查看服务器内存情况时,可以看到mem和swap两行。
    在这里插入图片描述
    mem行是从系统角度看来内存使用的情况,total是系统可用的内存大小,数量上等于系统物理内存减去内核保留的内存。
    buffers和cached是系统用做缓冲的内存。used显示已经使用的内存大小,free是剩余空闲的可用内存大小。buffers与某个块设备关联,包含了文件系统元数据,并且跟踪了块的变化。cache只包含了文件本身。buffers/cache行则从用户角度显示内存信息,可用内存从数量上等于mem行used列值减去buffers和cached内存的大小。因为buffers和cached是操作系统为加快系统运行而设置的,当用户需要时,可以只接为用户使用。
    Swap行便是系统的swap信息,也就是swap交换分区。

    二、swap交换分区的作用:
    类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。Android是基于Linux的操作系统,所以也可以使用Swap分区来提升系统运行效率。
    它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行。
    需要注意的是,虽然这个SWAP分区能够作为"虚拟"的内存,但它的速度比物理内存可是慢多了,因此如果需要更快的速度的话,并不能寄厚望于SWAP,最好的办法仍然是加大物理内存。SWAP分区只是临时的解决办法。

    三、swap分区创建和使用:
    两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区;不过,若你没有多少空闲空间可用,则添加交换文件
    1、创建swap交换分区方法
    (1)、创建分区
    fdisk /dev/sda2
    (2)、命令来格式化交换分区
    mkswap /dev/sda2
    (3)、激活新建的交换分区
    swapon /dev/sda2
    (4)、追加写入/etc/fstab文件中,启用挂载
    vi /etc/fstab
    在文件末尾追加如下,之后保存文件
    /dev/sda2 swap swap default 0 0
    或者也可以使用fallocate 命令创建交换空间
    (1)、创建文件,查看,授权
    fallocate -l 2G /swap_space
    ls -lh /swap_space
    chmod 600 /swap_space
    (2)、命令来格式化交换分区
    mkswap /swap_space
    (3)、激活新建的交换分区
    swapon -s
    (4)、追加写入/etc/fstab文件中,启用挂载
    vi /etc/fstab
    在文件末尾追加如下,之后保存文件
    /swap_space swap swap sw 0 0

    2、创建swap交换文件
    (1)、创建文件
    dd if=/dev/zero of=/tmp/swapfile bs=1024 count=8192000
    附:
    if=/dev/zero:输入/dev/zero文件。/dev/zero主要的用处是用来创建一个指定长度用于初始化的空文件,就像临时交换文件。
    of=/tmp/swapfile:输出至/tmp/swapfile文件
    bs=1024:定义块大小为1024bytes,默认单位为bytes。
    count=8192000:总数大小8192000个bs即8192000kb,换算后得8G。
    参照oracle官方文档设定的标准应这样配置:
    4G以内的物理内存,SWAP 设置为内存的2倍。
    4-8G的物理内存,SWAP 等于内存大小。
    8-64G 的物理内存,SWAP 设置为8G。
    64-256G物理内存,SWAP 设置为16G。
    (2)、格式文件
    mkswap /tmp/swapfile
    (3)、激活新建的交换分区
    swapon /tmp/swapfile
    (4)、追加写入/etc/fstab文件中,启用挂载
    vi /etc/fstab
    在文件末尾追加如下,之后保存文件
    /tmp/swapfile swap swap defaults 0 0
    创建之后可以再次执行
    free-h
    查看是否生效

    四、查看swap空间
    swapon -s
    等价于
    cat /proc/swap
    在这里插入图片描述

    学海无涯苦作舟!!!

  • 相关阅读:
    正则表达式
    Ubuntu ARMv8编译Qt源码以及QtCreator
    【uniapp小程序】覆盖图片容器cover-image
    “六新”求新谋变 再造绿色新准能扬帆起航
    K8S实战入门
    【016】基于Vue.js的用户信息管理系统(附源码)
    git--基础--04--分支管理规范
    Spring事务失效场景
    OpenCV项目开发实战--实现面部情绪识别对情绪进行识别和分类及详细讲解及完整代码实现
    java笔记38,JDBC
  • 原文地址:https://blog.csdn.net/qq_34207422/article/details/127448629