systemd.swap 中文手册
名称
systemd.swap — swap单元配置
大纲
swap
.swap
描述
以".swap
" 为后缀的单元文件,封装了一个由 systemd 管理的swap设备或swap文件。
本手册列出了所有专用于此类单元的配置选项(亦称"配置指令"或"单元属性")。systemd.unit(5)中描述了通用于所有单元类型的配置选项,它们位于 [Unit] 与 [Install] 小节。此类单元专用的配置选项位于 [Swap] 小节。
其他相关的选项还包括:systemd.exec(5)中的选项定义了 swapon(8)程序的执行环境;systemd.kill(5)中的选项定义了进程的结束方式;systemd.resource-control(5)中的选项定义了进程的资源限制。
swap 单元的名称必须根据其封装的swap设备或swap文件的路径命名。例如 /dev/sda5
设备对应的单元名称必须是 dev-sda5.swap
。有关路径名转换到单元名的细节,参见systemd.unit(5) 手册。注意,swap 单元不能从模版实例化而来,也不能通过创建软连接的方法给同一个 swap 单元赋予多个别名。
自动依赖
隐含依赖
下列依赖关系是自动隐含的:
所有 swap 单元都将自动获得对所依赖的底层块设备单元或挂载点单元的
BindsTo=
与After=
依赖 。
其他与执行环境以及资源控制有关的自动依赖关系参见systemd.exec(5)与systemd.resource-control(5) 手册。
默认依赖
除非明确设置了 DefaultDependencies=no
,否则 swap 单元将会自动添加下列依赖关系:
(1)自动获得
Conflicts=umount.target
与Before=umount.target
依赖,以确保在关机前完成卸载; (2)自动获得Before=swap.target
依赖,以确保在系统初始化完成之前完成挂载。
fstab
swap 单元既可以通过单元文件进行配置,也可以通过/etc/fstab
文件(参见fstab(5)手册)进行配置。/etc/fstab
中的swap项将在每次重新加载 systemd 配置时(包括系统启动时)动态的自动转化为 swap 单元。一般来说,/etc/fstab
文件是配置 swap 单元的首选方法,详见systemd-fstab-generator(8)手册。
如果某个 swap 项既配置在了/etc/fstab
文件中,又配置在了 swap 单元中,那么以 swap 单元为准。
可以在 /etc/fstab
中使用一些无法被其他程序识别的 systemd 专用挂载选项,以帮助创建 swap 单元的依赖关系。
noauto
,auto
noauto
表示 不将此 swap 单元加入到swap.target
的依赖中,也就是不在系统启动时自动挂载(除非为了满足其他单元的依赖而被挂载)。auto
(默认值) 表示自动将此 swap 单元加入到swap.target
的依赖中,也就是在系统启动时自动挂载。nofail
nofail
表示 仅在swap.target
中对此挂载点使用 Wants= 依赖(而不是默认的 Requires=)。也就是即使此swap项挂载失败,也不会中断系统的启动流程。x-systemd.device-timeout=
设置等候所依赖的设备进入可用状态的最大时长,若超时则放弃挂载。可以使用 "
ms
", "s
", "min
", "h
" 这样的时间单位后缀。若省略后缀则表示单位是秒。注意,此选项仅可用于
/etc/fstab
文件,不可用于单元文件中的Options=
选项。x-systemd.makefs
在该设备上重建 swap 结构(格式化)。如果此设备"非空"(已含有签名),那么将会跳过格式化操作。因此,此选项可以安全的应用于已格式化的设备。
此选项仅可用于
/etc/fstab
文件,不可用于单元文件中的Options=
选项。参见 systemd-mkswap@.service(8) 手册,以及对 wipefs(8) 的讨论(参见 systemd.mount(5) 手册)。
选项
每个 swap 单元文件都必须包含一个 [Swap] 小节,用于包含该单元封装的swap设备或swap文件的各项信息。可在 [Swap] 小节中使用的选项,有许多是与其他单元共享的,详见systemd.exec(5)与systemd.kill(5)手册。这里只列出仅能用于 [Swap] 小节的选项(亦称"指令"或"属性"):
What=
绝对路径形式表示的swap设备节点或swap文件,详见 swapon(8) 手册。如果是一个swap设备节点,那么将会自动添加对此设备节点单元的依赖,参见 systemd.device(5) 手册。如果是一个swap文件,那么将会自动添加对此文件所属挂载点的依赖,参见 systemd.mount(5) 手册。这是一个必需的设置。注意,因为可以在此选项中使用 "
%
" 系列替换标记,所以百分号(%)应该使用 "%%
" 表示。Priority=
设置此swap项的优先级,必须设为一个整数。这是一个可选的设置。如果已经在
Options=
中使用pri=
设置了优先级,那么将忽略此处的设置。Options=
一组逗号分隔的挂载选项(例如"discard"之类)。这是一个可选的设置。详见 swapon(8) 手册。注意,因为可以在此选项中使用 "
%
" 系列替换标记,所以百分号(%)应该使用 "%%
" 表示。TimeoutSec=
最大允许使用多长时间以完成挂载(swapon)动作。若超时则被视为挂载失败,并且所有当前正在运行的命令 都将被以
SIGTERM
信号终止; 若继续等待相同的时长之后命令仍未终止,那么将使用SIGKILL
信号强制终止(详见KillMode=
选项[参见 systemd.kill(5) 手册])。可以使用 "ms", "s", "min", "h" 这样的时间单位后缀。若省略时间单位后缀则单位是秒。设为 "0
" 表示永不超时。默认值为DefaultTimeoutStartSec=
选项的值(参见 systemd-system.conf(5) 手册)。
参见systemd.exec(5)与systemd.kill(5)以了解更多设置。
参见
systemd(1), systemctl(1), systemd-system.conf(5), systemd.unit(5), systemd.exec(5), systemd.kill(5), systemd.resource-control(5), systemd.device(5), systemd.mount(5), swapon(8), systemd-fstab-generator(8), systemd.directives(7)