Linux swap分区

Swap分区是在系统物理内存不够用时由系统内存管理程序将很长时间没有操作内存数据临时保存到Swap分区中,以提高可用内存额度的一种机制。当那些程序要再次重新运行时,会再从Swap分区恢复之前保存的数据到内存中。
相关操作会导致额外的IO开销,特别是,如果内存使用率已经非常高,而同时IO性能也不是很好的情况下,该机制其实会起到相反的效果:不仅系统性能提升较小(因为内存使用率已经非常高了),而且由于频繁的内存到SWAP的切换操作,会导致产生大量额外的IO操作,导致IO性能进一步降低,最终反而降低了系统总体性能。

创建swap分区

  1. 查看系统当前分区情况

    free -m

  2. 创建交换分区文件

    dd if=/dev/zero of=/swap bs=4096 count=1572864

  3. 设置交换分区文件

    mkswap /swap

  4. 启用交换分区文件

    swapon /swap

  5. 设置开机时自动启用

    echo “LABEL=SWAP-sda /swap swap swap defaults 0 0” >> /etc/fstab

  6. 删除swap

    swapoff /swap ; rm -f /swap

参考资料:
Linux下增加、删除Swap文件
关于新购买Linux服务器不再提供SWAP盘的通知
How to create or add swap file on Linux and FreeBSD