Linux服务器交换分区swap的查看、创建与删除【测试成功】

艺帆风顺 发布于 2025-04-02 12 次阅读


           在Linux服务器上,交换空间(Swap)是一个用于扩展物理内存的虚拟内存区域。当物理内存用尽时,操作系统会将一些数据从RAM移到交换空间中,以释放内存供当前任务使用。交换空间可以是一个磁盘分区、一个文件或一个LVM卷。下面是关于如何查看和创建交换分区(Swap)的详细指南。

一、查看当前交换空间

可以通过以下命令查看当前系统的交换空间使用情况:

1. 使用 free 命令查看交换空间
free -h

输出示例:

    total used free shared buff/cache availableMem: 7.8Gi 1.2Gi 5.4Gi 194Mi 1.1Gi 6.2GiSwap: 2.0Gi 0.0Ki 2.0Gi

    • Swap 列显示当前的交换空间大小、已用空间和空闲空间。
    2. 使用 swapon 命令查看交换设备
    swapon --show

    这会列出所有启用的交换空间,包括文件和分区。

    3. 使用 lsblk 命令查看交换分区
    lsblk

    这将列出所有磁盘及其分区,包括交换分区(通常标记为 swap 类型)。

    二、创建交换分区

    如果系统没有交换分区或你需要增加交换空间,可以通过以下步骤创建交换分区。

    1. 创建一个新的分区

    首先,使用 fdiskparted 工具对磁盘进行分区。假设我们使用的是 /dev/sdb 作为目标磁盘。

    sudo fdisk /dev/sdb

    fdisk 工具中执行以下操作:

    1. 输入 n 创建一个新分区。
    2. 输入 p 选择主分区。
    3. 输入分区号(例如 1)。
    4. 设置分区的大小(例如 +2G 表示分区大小为 2GB)。
    5. 输入 t 修改分区类型。
    6. 输入 82 设置交换分区类型。
    7. 输入 w 保存并退出。
    2. 格式化分区为交换类型

    创建好交换分区后,需要使用 mkswap 命令将其格式化为交换空间:

    sudo mkswap /dev/sdb1
    • /dev/sdb1 是你新创建的交换分区。
    3. 启用交换分区

    使用 swapon 命令启用交换分区:

    sudo swapon /dev/sdb1
    4. 检查交换分区是否启用

    再次使用 swapon --showfree -h 查看交换分区是否已经成功启用。

    swapon --show

    或者

    free -h

    三、设置开机自动启用交换分区

    为了确保交换分区在系统重启后自动启用,需要将其添加到 /etc/fstab 文件中。

    1. 编辑 /etc/fstab
    sudo nano /etc/fstab
    2. 添加交换分区信息

    在文件末尾添加一行,指定交换分区的信息。假设我们使用的是 /dev/sdb1 分区,添加如下行:

    /dev/sdb1 none swap sw 0 0

    保存并退出编辑器。

    四、创建交换文件(可选)

    如果你不想创建额外的交换分区,另一种方法是创建一个交换文件来作为交换空间。

    1. 创建交换文件
    sudo ddif=/dev/zero of=/swapfile bs=1M count=2048
    • 这里创建了一个 2GB 的交换文件(count=2048 代表 2048 MB)。
    2. 设置交换文件权限

    确保交换文件的权限正确,只有 root 用户能读取和写入:

    sudo chmod 600 /swapfile
    3. 格式化交换文件

    使用 mkswap 格式化交换文件:

    sudo mkswap /swapfile
    4. 启用交换文件

    启用交换文件:

    sudo swapon /swapfile
    5. 设置开机自动启用交换文件

    编辑 /etc/fstab 文件,添加如下行:

    /swapfile none swap sw 0 0

    保存并退出。

    五、调整交换空间的大小

    如果需要调整交换空间的大小,可以删除现有的交换分区或交换文件,然后重新创建新的交换空间。

    1. 禁用交换分区或交换文件
    sudo swapoff /dev/sdb1

    或者对于交换文件:

    sudo swapoff /swapfile
    2. 删除交换文件(如果是交换文件)
    sudo rm /swapfile
    3. 重新创建新的交换分区或交换文件,重复上述步骤。

    六、优化交换空间使用

    1. 修改 swappiness 参数

    swappiness 控制系统何时将数据从内存交换到交换空间。值的范围是 0 到 100,较低的值表示系统更倾向于使用物理内存,而较高的值则表示系统更早地使用交换空间。

    可以查看当前的 swappiness 值:

    cat /proc/sys/vm/swappiness

    如果要临时调整 swappiness 值,可以使用以下命令:

    sudo sysctl vm.swappiness=10

    如果要永久修改 swappiness 值,可以编辑 /etc/sysctl.conf 文件,添加如下行:

    vm.swappiness = 10

    保存并退出,然后应用配置:

    sudo sysctl -p

    总结

    1. 查看交换空间:使用 free -hswapon --showlsblk 等命令查看当前交换空间。
    2. 创建交换分区:使用 fdisk 创建新的分区,并用 mkswap 格式化为交换空间。
    3. 启用交换分区:使用 swapon 启用交换分区。
    4. 创建交换文件:通过创建交换文件并格式化为交换空间来增加虚拟内存。
    5. 设置开机自动启用交换空间:编辑 /etc/fstab 文件进行配置。
      版权声明:本文内容来自CSDN:隔墙有耳呀,遵循CC 4.0 BY-SA版权协议上原文接及本声明。本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。原文链接:https://blog.csdn.net/jhg121361843/article/details/139424335如有涉及到侵权,请联系,将立即予以删除处理。在此特别鸣谢原作者的创作。此篇文章的所有版权归原作者所有,与本公众号无关,商业转载建议请联系原作者,非商业转载请注明出处。