温馨提示×

Ubuntu Swapper启动顺序

小樊
67
2025-09-22 16:13:14
栏目: 智能运维

Ubuntu Swapper(交换空间)启动顺序及配置流程
Ubuntu系统中的Swapper(交换空间)用于扩展虚拟内存,当物理内存不足时,系统会将部分数据转移至交换空间(分区或文件)。其启动顺序主要围绕交换空间的创建、启用及开机自动挂载三个核心步骤展开,确保系统重启后交换空间能自动投入使用。

一、前置准备:确认交换空间是否存在

在配置启动顺序前,需先检查系统是否已有交换空间,避免重复操作。使用以下命令查看:

sudo swapon --show  # 显示当前启用的交换空间(包括分区和文件)
sudo fdisk -l       # 查看磁盘分区详情(确认是否有swap分区)
free -h             # 查看内存与交换空间总使用量

若已有交换空间,可直接跳至步骤三配置自动挂载;若无,则需创建新的交换空间。

二、创建交换空间(分区或文件)

交换空间分为交换分区(传统方式,需磁盘分区)和交换文件(灵活,无需分区)两种类型,创建流程如下:

1. 创建交换分区(可选)

  • 步骤1:创建分区
    使用fdisk工具在磁盘上创建新分区(以/dev/sda为例):

    sudo fdisk /dev/sda
    

    依次输入:n(新建分区)→ p(主分区)→ 选择分区号(如6)→ 设置起始扇区(默认)→ 设置结束扇区(如+2G表示2GB)→ t(更改分区类型)→ 输入82(Linux swap类型)→ w(保存并退出)。

  • 步骤2:格式化分区
    使用mkswap命令将分区格式化为交换空间:

    sudo mkswap /dev/sda6  # 替换为实际分区路径(如/dev/sda6)
    

2. 创建交换文件(推荐)

若无需额外分区,可直接创建交换文件(以2GB为例):

sudo fallocate -l 2G /swapfile  # 快速创建2GB文件(若fallocate不可用,用dd命令:sudo dd if=/dev/zero of=/swapfile bs=1M count=2048)
sudo chmod 600 /swapfile        # 设置权限(仅root可读写)
sudo mkswap /swapfile           # 格式化为交换空间

三、启用交换空间

创建完成后,需手动启用交换空间以立即生效:

sudo swapon /dev/sda6  # 启用交换分区(替换为实际路径)
sudo swapon /swapfile  # 启用交换文件

启用后,使用swapon --showfree -h验证交换空间是否已激活。

四、配置开机自动挂载(关键步骤)

要让交换空间在系统启动时自动启用,需将其添加到/etc/fstab文件(系统启动时自动执行的挂载配置文件):

sudo nano /etc/fstab  # 用文本编辑器打开fstab文件

在文件末尾添加以下内容(根据交换空间类型选择对应行):

  • 交换分区
    /dev/sda6 none swap sw 0 0 # 替换为实际分区路径(如/dev/sda6)
  • 交换文件
    /swapfile none swap sw 0 0 # 替换为实际文件路径(如/swapfile)

保存并退出(Ctrl+XYEnter)。注意sw选项表示交换空间,0 0表示不备份、不检查。

五、验证自动挂载

重启系统后,使用以下命令验证交换空间是否自动启用:

sudo swapon --show  # 应显示已启用的交换空间
free -h             # 应显示交换空间总容量

若配置正确,交换空间将在每次系统启动时自动挂载。

可选优化:调整交换空间使用策略

  • 设置swappiness值
    swappiness参数(0-100)控制系统使用交换空间的倾向,值越低越优先使用物理内存。例如,将swappiness设置为10(减少交换使用):

    sudo sysctl vm.swappiness=10  # 临时生效
    echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf  # 永久生效
    
  • 调整交换空间优先级
    若有多个交换空间(分区或文件),可通过pri参数设置优先级(值越高越优先使用)。例如:

    sudo swapon -p 10 /swapfile  # 设置交换文件优先级为10
    sudo swapon -p 5 /dev/sda6   # 设置交换分区优先级为5
    

    /etc/fstab中添加pri参数:
    /swapfile none swap sw,pri=10 0 0
    /dev/sda6 none swap sw,pri=5 0 0

通过以上步骤,Ubuntu系统中的Swapper将按照“创建→启用→自动挂载”的顺序在启动时完成配置,确保系统内存管理的稳定性。

0