当前位置: 首页 > 文档资料 > systemd 中文手册 >

systemd.swap 中文手册

优质
小牛编辑
143浏览
2023-12-01

名称

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.targetBefore=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)