Linux swapon 命令可以将一个或多个交换分区(swap partition)或交换文件(swap file)设置为活动的,并将其加入到系统的交换空间(swap space)中。在系统内存不足时,操作系统会将不常用的数据从内存中“换出”到交换空间中,以释放内存并为系统运行提供更多的空间。Swapon 命令可以帮助系统管理员优化系统的交换空间管理,并系统具有足够的交换空间来支持其运行。
命令名称
swapon
命令功能
启用交换分区或文件
命令全称
swapon
命令语法
swapon [ -dhLlv ] [ -p
] [ -f ] [ file | partition ] swapon [ -dhLlv ] [ -p
] [ -f ] [ file | partition ] #[English]
命令参数
- -a #挂载/etc/fstab中所有标记为“auto”的交换分区
- -e #启用交换分区,可以跟随设备文件
- -U #使用UUID挂载交换分区
- -v #显示详细的交换分区信息
- --show #显示所有已经的交换分区的概述和状态信息
- --summary #显示当前系统上所有交换分区的总体概述信息
命令原理
Linux swapon 命令用于启用交换分区,将内存中的部分数据移动到硬盘上,以释放内存空间。该命令的原理是将指定的分区或文件设置为交换分区,并通过内核的交换子系统,将内存中的部分数据写入到该交换分区中。当内存不足时,通过交换分区,可以将一部分数据从内存中释放,并将其存放到交换分区中,以满足系统对内存的需求。
用法举例
#启用所有配置文件中指定的交换分区
swapon -a
#显示当前已启用的交换分区列表
swapon -s
#在启用交换分区时显示详细信息
swapon -v
#启用指定的交换分区
swapon /dev/sdb1
#将指定交换分区的优先级设置为10
swapon -p 10 /dev/sdb1
#强制启用指定的交换分区
swapon -f /dev/sdc1
#启用加密的交换分区(需要加密支持)
swapon -e /dev/sdc1
#重新启用之前已禁用的交换分区
swapon -r
#启用指定UUID的交换分区
swapon -U d1d2d3d4-5678-abcd-efgh-1234567890ab
#显示当前已启用的交换分区列表,并列出交换分区的名称、文件系统类型、大小、使用情况和优先级等信息。
swapon --show=NAME,FSTYPE,SIZE,USED,PRIO
执行权限
管理员权限
系统路径
/sbin/swapon
注意事项
使用该命令需要具有管理员权限
系统自带
是
常用命令
是
命令分类
系统管理类命令
参数详解
-a
启用系统中所有被禁用的交换分区
#该命令会自动启用所有已经被禁用的交换分区。
swapon -a
-e
启用指定的交换分区
#该命令会启用指定的交换分区/dev/sda2。
swapon -e /dev/sda2
#将所有swap分区都启用。
swapon -e
#启用/dev/sdb1设备,并将其交换到虚拟内存中
swapon -e /dev/sdb1
-p
设置交换分区的优先级
#该命令会设置/dev/sda3交换分区的优先级为10。
swapon -p 10 /dev/sda3
#将优先级为5的分区启用为swap分区。
swapon -p 5
#将/dev/sda1设备交换到虚拟内存中,并将其优先级设置为10
swapon -p 10 /dev/sda1
-s
显示当前的交换分区信息
#该命令会显示当前系统中所有交换分区的信息。
swapon -s
-v
显示启用交换分区的详细信息
#该命令会显示启用/dev/sda4交换分区的详细信息。
swapon -v /dev/sda4
#启用/dev/sda3分区,并以详细模式显示启用结果。
swapon -v /dev/sda3
#将/dev/sda1设备交换到虚拟内存中,并输出详细信息
swapon -v /dev/sda1
-U, --uuid
通过UUID指定交换分区
#将UUID为01234567-89ab-cdef-0123-456789abcdef的交换分区挂载到系统中
swapon -U 01234567-89ab-cdef-0123-456789abcdef
-a, --all
将所有未挂载的交换分区挂载到系统中
#将所有未挂载的交换分区挂载到系统中,方便系统使用
swapon -a
-v, --verbose
打印详细的输出信息
#打印详细的输出信息,包括交换分区的大小、挂载点等信息
swapon -v /dev/sda2
#以详细模式启用交换分区/dev/sda5,并显示详细信息。
swapon -v /dev/sda5
-p, --priority
指定挂载的交换分区的优先级
#将/dev/sdb1挂载为交换分区,并将其优先级设为1
swapon -p 1 /dev/sdb1
-d, --discard
启用交换分区的丢弃功能
#启用/dev/sdc1交换分区的丢弃功能,以提高系统的性能。
swapon -d /dev/sdc1
--help
显示命令的帮助信息
#显示swapon命令的使用说明和选项信息。
swapon --help
-s, --summary
显示当前已启用的交换分区的信息
#显示当前已启用的交换分区的信息。
swapon -s
--show
显示当前启用的交换分区的路径
#显示当前启用的交换分区的路径。
swapon --show
-s或--summary
显示交换分区的总体情况摘要
#该命令以摘要形式显示系统中所有已的交换空间的情况,包括交换分区的总大小、已使用的空间、可用空间以及每个分区的文件路径。
swapon -s
-a或--all
所有已配置的交换分区
#该命令将所有已配置的交换分区,使得系统能够使用这些分区作为虚拟内存。
swapon -a
-p或--priority
设置交换分区的优先级
#该命令将/dev/sdb1分区的交换优先级设置为2,优先级越高的分区在内存不足时被选择使用的概率越大。
swapon -p 2 /dev/sdb1
-v或--verbose
显示详细信息
#该命令将/dev/sdc1分区设置为交换分区,并且以详细模式输出设置结果。
swapon -v /dev/sdc1
-e或--ifexists
存在的交换分区
#该命令系统中存在的交换分区,忽略所有未配置的分区。
swapon -e
命令报错原因
* 没有足够的权限运行swapon命令;
* 交换分区格式不正确导致无法挂载;
* 交换分区不可用或者已经挂载;
* 未指定交换分区文件或者设备文件路径;
* 交换分区文件或者设备文件不存在;
* 交换分区文件或者设备文件已经被占用;
* 交换分区大小出了系统限制;