目 录CONTENT

文章目录

Linux设置Swap分区

天阁创客official
2024-07-07 / 0 评论 / 0 点赞 / 29 阅读 / 0 字
温馨提示:
作者:天阁创客official 作者承诺教程免费,拒绝盗版搬运,复制转发请指明出处! 让天下没有难学的技术!

天阁创客official-2.png

天阁创客official-标准色版.png

Swap分区介绍

Swap分区是什么?Linux中Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。

Swap分区的作用是什么?它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行。

swap 分区和 swap 文件都是 Linux 系统中用于扩展内存的技术,但它们在实现方式上有所不同。

  1. swap 分区

    • swap 分区是在磁盘上分配的特定区域,它被格式化为 swap 文件系统(通常是 Linux Swap)。

    • swap 分区的大小是固定的,无法动态调整,除非重新分区磁盘。

    • swap 分区通常位于硬盘或其他存储介质上,而不是系统盘(如 TF 卡或 SSD)。

    • swap 分区在系统启动时自动激活,不需要手动操作。

    • swap 分区的大小对系统性能有直接影响,较大的 swap 分区可以提供更多的内存扩展,但也可能增加磁盘 I/O 负担。

  2. swap 文件

    • swap 文件是在文件系统中创建的一个普通文件,通常位于根目录或特定的文件夹中。

    • swap 文件的大小可以根据需要动态调整,这通常比重新分区磁盘要简单。

    • swap 文件可以位于系统盘上,这意味着它可能会影响系统的读写性能。

    • swap 文件在系统启动时不会自动激活,需要手动启用。

    • swap 文件的大小可以根据系统需求进行调整,但是它不能像 swap 分区那样提供大量的内存扩展。

创建Swap分区

查看当前系统是否存在Swap分区

 free -m 

如果不存在返回内容如下:

                total        used        free      shared  buff/cache   available
 内存:      15966        4664        6424         341        4876       10722
 交换:          0           0           0

如果我们Swap分区设置的不合理(太小),并且VPS本身的物理内存也不够用,那么就会出现Linux Swap占用很高,甚至Swap分区全部占满的情况,一般来说,根据Linux内存的大小不同,我们可以按照下面的对应关系设置Swap分区大小

  1. 内存 <= 4g:Swap 至少 4G

  2. 内存 4~16G:Swap 至少 8G

  3. 内存 16G~64G:Swap 至少 16G

  4. 内存 64G~256G:Swap 至少 32G

关闭swap分区,如果没有就不存在这一步骤

 sudo swapoff -a

创建Swap分区

 sudo dd if=/dev/zero of=/root/swapfile bs=1M count=8192

建立 Swap 的文件系统(格式化为 Swap 分区文件)

 #设置权限
 sudo chmod 600 /root/swapfile
 sudo mkswap /root/swapfile

启用 Swap 分区

 sudo swapon /root/swapfile

查看交换分区是否成功创建,如果有 Swap 就说明创建成功了

 free -m
 #或者
 free -h

设置开启启动,在 /etc/fstab 文件中加入一行代码

 echo '/root/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

Swap开关设置

查看swap交换分区

 swapon -s

开启swap交换分区

 swapon -a

关闭swap交换分区

 swapoff -a

重启swap交换分区

 swapoff -a && swapon -a

Swap的优先级

优先级的范围

Swap优先级的数值范围是从-1到32767。数值越高,优先级越高。当内核需要使用swap空间时,它会优先使用优先级最高的swap区域。

默认优先级

如果没有为swap区域设置优先级,Linux内核会默认为它分配一个优先级。通常,内核会根据swap分区的设备号来分配一个默认的优先级,通常是0。对于使用mkswap命令创建的swap文件或分区,如果没有指定优先级,它们通常会获得相同的默认优先级。

设置优先级

可以使用swapon命令的-p--priority选项来设置swap区域的优先级。以下是设置swap文件优先级的示例:

 sudo swapon -p 1000 /path/to/swapfile

上述命令将swap文件的优先级设置为1000。


0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区