Linux新建swap分区

Linux新建swap分区

  • 1.初衷
  • 2.swap分区的创建及挂载
  • 3.swappness

1.初衷

买了一台腾讯云服务器,2G内存,内存真的很吃紧.所以产生了用空间+时间换内存的方法…swap

2.swap分区的创建及挂载

  1. 创建一个空的文件,用来当作swap分区.
    根据官方的建议,在不需要休眠的情况下,物理内存 <= 2G,swap为物理内存的2倍
dd if=/dev/zero of=/mnt/swap bs=1M count=4096
  1. 格式化swap分区
mkswap /mnt/swap
  1. 挂载
swapon /mnt/swap

为了每次开机都能生效在/etc/fstab中添加相应内容

/mnt/swap swap swap defaults 0 0
# mount -a 启用
mount -a

可以使用free -m 查看是否内存使用情况:

free - m

在这里插入图片描述

3.swappness

swap相关的参数,可以在/proc/sys/vm/swappness中查看到.

cat /proc/sys/vm/swappiness
or
sysctl -q vm.swappiness

在这里插入图片描述
swappiness值范围:0~100,数值越低表示越积极使用物理内存,数值越高表示越积极使用swap,设置为0则表示禁用swap,而设置为100则表示积极使用swap.
我这里(腾讯云)默认值被设置为30,这个30表示当物理内存使用到70%(100 - 30),则开始使swapness,
由于swap只是硬盘模拟的内存,运算速度远远低于内存,所以在物理内存比较充裕时使用swap则会大大降低运行效率.由于一般而言都是物理内存吃紧时才会启用swap,所以一般这个值都会设置的比较低,但是出于需求,我这里内存实在吃紧,不做性能上的考虑,只是学习用,为了能跑起来相对比较吃内存的东西,这里我将他设置为80.

这个文件无法使用vim之类的文本编辑来修改,需要使用echo来覆盖
在这里插入图片描述

echo 80 > /proc/sys/vm/swappiness

在这里插入图片描述
这种改法只是临时生效,重启后会回复原来的默认值(30),想要永久生效需要在/etc/sysctl.conf文件中添加设置:

vm.swappiness=80

你可能感兴趣的:(Linux)