Linux创建swap
Linux创建swap
查看内存的情况(此时swap行为0)
1 | free -m |
初始时Swap 相关数据都是0。
创建swap文件(本文创建了2G),并使之生效
a.创建用于交换分区的文件:
1 | dd if=/dev/zero of=/swapfile bs=1M count=2048 |
b.设置交换分区文件:
1 | mkswap /swapfile |
c.立即启用交换分区文件:
1 | swapon /swapfile |
在 /etc/fstab 中添加如下一行,使之永久生效(自动挂载)
1 | /swapfile swap swap defaults 0 0 |
修改 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 | vm.swappiness=10 |
关闭 SWAP
当系统出现内存不足时,开启 SWAP 可能会因频繁换页操作,导致 IO 性能下降。如果要关闭 SWAP,可以采用如下方法。
1 | 1、查询 SWAP 分区设置: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 bq's notes!