swapon命令

swapon 命令 #

swapon 命令用于激活 Linux 系统中的交换区(swap)设备或文件。它使系统能够使用指定的交换区来扩展虚拟内存。

语法 #

swapon [选项] [特殊设备文件...]

主要选项 #

选项 说明
-a, --all 激活 /etc/fstab 中所有的交换区
-d, --discard[=once|pages] 启用丢弃页面操作(SSD 优化)
-e, --ifexists 忽略不存在的设备
-f, --fixpgsz 在激活前重新初始化交换区头部
-p, --priority=优先级 指定优先级(-1 到 32767)
-s, --summary 显示交换区使用情况摘要
-v, --verbose 显示详细信息
-h, --help 显示帮助信息
-V, --version 显示版本信息

常见用法 #

1. 激活特定交换分区 #

swapon /dev/sdb1

2. 激活交换文件 #

swapon /swapfile

3. 激活所有在 /etc/fstab 中定义的交换区 #

swapon -a

4. 显示当前激活的交换区 #

swapon -s

或者使用:

cat /proc/swaps

5. 激活交换区并设置优先级 #

swapon -p 10 /dev/sdb1

6. 激活交换区并启用丢弃功能(适用于 SSD) #

swapon --discard /dev/sdb1

交换区优先级 #

  • 优先级范围从 -1 到 32767
  • 较高的值表示更高的优先级
  • 系统会先使用优先级高的交换区
  • 相同优先级的交换区会被轮流使用

查看交换区状态 #

使用 free 命令可以查看系统内存和交换区使用情况:

free -h

注意事项 #

  • 激活交换区前,必须先使用 mkswap 命令将设备或文件格式化为交换区格式
  • 交换文件的权限应设置为 600,以防止其他用户访问
  • 系统可以同时使用多个交换区
  • 在高负载系统上,过度依赖交换区可能导致性能下降
  • 在 SSD 上使用交换区时,建议启用 --discard 选项以支持 TRIM 功能
  • 要禁用交换区,使用 swapoff 命令