美文网首页
Linux 配置与管理 SWAP

Linux 配置与管理 SWAP

作者: KN郑某某 | 来源:发表于2024-08-08 10:10 被阅读0次

    一、什么是 SWAP?

    SWAP 是一种虚拟内存机制,当物理内存不足时,Linux 内核会将一部分数据暂时移出到硬盘上的一个特殊区域,这个区域就是 SWAP 空间。SWAP 可以是硬盘上的一个文件或一个专用的分区。

    二、SWAP 的作用

    1. 内存不足时的扩展:当系统的物理内存被占满,SWAP 可以作为额外的内存空间。
    2. 进程休眠:当某个进程暂时不需要执行但又不能被完全删除时,其内存内容可以被移到 SWAP 中,释放物理内存给更活跃的进程使用。
    3. 内存管理辅助:操作系统可以利用 SWAP 进行内存页的换入换出操作,优化内存使用效率。

    三、SWAP 的配置方法

    • 创建 SWAP 文件

    决定 SWAP 文件的大小,可以根据物理内存和实际用途来考虑。如果按照物理内存考虑的话,可以参考下面的建议

    小于 2GB 的物理内存:建议 SWAP 空间的大小至少是物理内存的两倍。
    2GB 至 8GB 的物理内存:SWAP 空间的大小可以设置为物理内存的 1.5 倍。
    大于 8GB 的物理内存:SWAP 空间的大小通常设置为物理内存的大小,或者更小一些,例如 4GB 或 8GB。

    例如创建1G的空间

    建议方式(速度快)

    $ fallocate -l 1G /swapfile
    

    或者使用 dd

    $ dd if=/dev/zero of=/swapfile bs=1M count=1024
    
    • 设置权限
    $ chmod 600 /swapfile
    
    • 格式化
    $ mkswap /swapfile
    
    • 启用 SWAP
    $ swapon /swapfile
    
    • 设置开机启动

    编辑 /etc/fstab 文件,添加以下行以确保 SWAP 在系统启动时自动启用。

    /swapfile none swap defaults 0 0

    执行以下脚本直接写入更方便

    $ echo "/swapfile none swap defaults 0 0" >> /etc/fstab
    

    四、调整 SWAP 使用策略

    通过调整 /proc/sys/vm/swappiness 文件中的值,可以控制 SWAP 的使用倾向。值范围是 0 到 100。
    该参数的含义可以理解为 “内存空间剩余多少时,开始使用swap”

    • 查看该值
    $ cat /proc/sys/vm/swappiness
    
    • 临时调整,重启失效
    $ sysctl vm.swappiness=10
    
    • 永久调整

    编辑 /etc/sysctl.conf, 添加或修改 vm.swappiness = 10,然后执行以下命令使更改生效即可

     $ sysctl -p
    

    五、修改SWAP 的大小

    可以先取消挂载,然后删除文件后重新创建,重新挂载即可。

    • 取消挂载
    $ swapoff /swapfile
    

    相关文章

      网友评论

          本文标题:Linux 配置与管理 SWAP

          本文链接:https://www.haomeiwen.com/subject/vjickjtx.html