Linux服务器添加Swap交换空间

Linux服务器添加Swap交换空间

演示环境

  • Ubuntu 22.04

Swap空间简介

Swap空间是一种虚拟内存空间,用于暂时存储操作系统不需要的数据,以便释放物理内存供其他程序使用。在Linux系统中,Swap空间通常是一个磁盘分区或者一个特殊的文件,用于扩展系统的虚拟内存空间。当系统的物理内存不足时,操作系统会将一部分内存中的数据移到Swap空间中,以释放物理内存。

由于 Swap 空间位于硬盘上,因此访问速度较慢。

1.查看当前内存与swap

1
2
3
4
$ free -m
total used free shared buff/cache available
Mem: 883 305 219 3 359 428
Swap: 0 0 0

检查 Swap 空间

  1. 执行以下命令检查 Swap 空间是否存在:
1
swapon -s

如果输出为空,则表示没有 Swap 空间。

2.创建 Swap 分区

  1. 使用 dd 命令创建 2GB 的 Swap 分区(可根据服务器配置调整大小:Swap 空间的大小应根据服务器的实际内存和使用情况进行调整。一般来说,Swap 空间的大小应为实际内存的 1-2 倍。

    使用 if=/dev/zero 创建 Swap 分区的原因是:

    • 它会创建一个包含零字节的文件,这对于 Swap 分区至关重要,因为 Swap 分区必须包含已知的干净数据。
    • /dev/zero 是一个特殊文件,它会不断生成零字节,这意味着您可以创建任意大小的 Swap 分区。

    使用 if=/dev/zero 可以确保 Swap 分区从一开始就包含干净的数据,并且可以创建任意大小的 Swap 分区。

1
dd if=/dev/zero of=/mnt/swap bs=1M count=2048
  1. 设置 Swap 分区文件:
1
mkswap /mnt/swap
  1. 启用 Swap:
1
swapon /mnt/swap

3.启动时自动挂载Swap 分区

  1. 编辑 /etc/fstab 文件,添加以下行:
1
/mnt/swap swap swap defaults 0 0
  • /mnt/swap:Swap 分区的挂载点。
  • swap:指定该分区是 Swap 分区。
  • swap:指定该分区的文件系统类型是 Swap。
  • defaults:使用 Swap 分区的默认选项。
  • 0:指定该 Swap 分区在启动时不进行检查。
  • 0:指定该 Swap 分区在启动时不进行转储。

4.检查swap空间

1
2
3
4
5
6
7
$ swapon -s
Filename Type Size Used Priority
/mnt/swap file 2097148 0 -2
$ free -h
total used free shared buff/cache available
Mem: 883Mi 280Mi 157Mi 3.0Mi 445Mi 450Mi
Swap: 2.0Gi 0B 2.0Gi


Linux服务器添加Swap交换空间
http://example.com/2024/04/14/Linux服务器添加Swap交换空间/
作者
Sanli Ma
发布于
2024年4月14日
许可协议