📜  如何将交换分区附加到 Linux?(1)

📅  最后修改于: 2023-12-03 14:53:03.171000             🧑  作者: Mango

如何将交换分区附加到 Linux?

交换分区(swap partition)是 Linux 中的一种特殊分区,用于保存暂时不用的内存数据,以便释放出更多的内存供程序使用。在 Linux 上,交换分区通常是在安装系统时就创建好了,但是在某些情况下,你可能需要手动添加交换分区或者将现有的交换分区附加到系统中。本文将介绍如何将交换分区附加到 Linux,旨在帮助程序员更好地了解 Linux 内存管理。

步骤
步骤一:检查系统中是否存在交换分区

在 Linux 中,可以使用 free -mswapon -s 命令来查看系统中当前的交换分区信息。如果输出结果中没有任何交换分区信息,则说明系统中不存在交换分区。你可以选择手动创建一个新的交换分区,或者将已经存在的分区附加到系统中。

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           7875        1225        4615          93        2034        6241
Swap:             0           0           0
$ swapon -s
Filename                Type        Size    Used    Priority
步骤二:创建一个交换文件或者分区

要创建一个新的交换分区,你可以按照以下步骤进行操作(需要 root 权限):

  1. 选择一个未使用的磁盘分区,可以使用 fdisk -l 命令来查看当前磁盘的分区信息。
  2. 格式化该分区为交换分区格式,可以使用 mkswap 命令来创建并格式化该分区。
  3. 启用该交换分区,可以使用 swapon 命令来启用该分区,并将其添加到系统的交换空间中,使得该分区可以用于存储系统内存数据。

以创建一个 4GB 的交换分区为例:

# 找到一个未使用的磁盘分区,比如 /dev/sdb3
$ sudo fdisk -l

# 将该分区格式化为交换分区格式
$ sudo mkswap /dev/sdb3

# 启用该分区,将其添加到系统的交换空间中
$ sudo swapon /dev/sdb3

如果你想创建一个交换文件而不是分区,可以按照以下步骤进行操作(需要 root 权限):

  1. 创建一个新的文件,比如 swapfile,可以使用 dd 命令来创建一个指定大小的文件。
  2. 格式化该文件为交换分区格式,可以使用 mkswap 命令来创建并格式化该文件。
  3. 启用该交换文件,可以使用 swapon 命令来启用该文件,并将其添加到系统的交换空间中,使得该文件可以用于存储系统内存数据。

以创建一个 4GB 的交换文件为例:

# 创建一个新的文件,比如 swapfile,大小为 4GB
$ sudo dd if=/dev/zero of=/swapfile bs=1G count=4

# 将该文件格式化为交换分区格式
$ sudo mkswap /swapfile

# 启用该文件,将其添加到系统的交换空间中
$ sudo swapon /swapfile
步骤三:验证交换分区是否成功启用

使用 free -mswapon -s 命令再次查看系统中的交换分区信息,如果输出结果中显示有一个新的交换分区,则说明你已经成功地将交换分区附加到了 Linux 中。

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           7875        1225        4615          93        2034        6241
Swap:          4095           0        4095

$ swapon -s
Filename                Type        Size    Used    Priority
/dev/sdb3               partition   4194300 0       -2
总结

本文介绍了在 Linux 上如何添加交换分区,包括创建一个新的交换分区或者交换文件,以及如何验证交换分区是否成功启用。在实际开发过程中,程序员也需要了解 Linux 中的内存管理和交换分区管理,以便更好地编写高效的程序。