Linux下添加、优化、删除 Swap 分区

首先查看内存占用情况

free -h
               total        used        free      shared  buff/cache   available
Mem:            31Gi       4.3Gi        21Gi        19Mi       6.6Gi        27Gi
Swap:             0B          0B          0B

创建 Swap 分区

新增一个 Swapfile 文件,这里在根目录生成,可以自己定义分区文件位置

# 创建一个 swapfile 到 / 目录,大小为 2G
dd if=/dev/zero of=/swapfile bs=1M count=2048

/dev/zero 无限填充 0 (0x00)
of 文件输出位置
bs 块大小 1K、1M、1G
count 块数量
文件的总大小 = bs*count(块大小x块数量)

Swap 文件创建成功返回结果:

2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 4.50898 s, 476 MB/s

修改文件权限:

chmod 0600 /swapfile

将刚才创建的 swapfile 格式化为交换分区文件:

mkswap /swapfile

成功返回结果:

Setting up swapspace version 1, size = 2 GiB (2147479552 bytes)
no label, UUID=4082e93d-9fc8-6985-ab32-080182ba7aba

启用 Swap 分区

创建完毕 Swap 后,需要启用和开启自动启用

swapon /swapfile

通过 free -h 查看是否成功启用

total used free shared buff/cache available
Mem: 960Mi 364Mi 66Mi 2.0Mi 678Mi 595Mi
Swap: 2.0Gi 0B 2.0Gi

设置开启自动启用 Swap

nano /etc/fstab

在最下面新增一行

/swapfile swap swap defaults 0 0

/swapfile swap 文件路径
swap 文件类型
swap 标签
defaults mkswap的默认参数
0 0 开始与结束位置

调整 Swap 使用优先级

通过调整使用优先级可以控制物理内存与虚拟内存直接的平衡,一般情况没有特殊需求可以不用调整,而且会影响性能。

先查看当前优先级数值

cat /proc/sys/vm/swappiness

根据使用情况可自行调整,数值范围:0 – 100 越大越积极使用 Swap

临时修改 (重启失效)

sysctl vm.swappiness=80

永久修改

nano /etc/sysctl.conf

找到 vm.swappiness 修改 = 号后面的数值即可

如果没有可以手动增加

vm.swappiness = 要修改的数值

修改完毕后如果没有生效则需要重启系统

删除 Swap 分区

先停止当前 Swap 分区

swapoff /swapfile

删除 Swap 文件

rm /swapfile

删除开机启动

# 编辑文件
nano /etc/fstab

# 删除 swap 启动
/swapfile swap swap defaults 0 0

通过 free -h 检查结果

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享