我在我的笔记本电脑和台式机上安装了 Archlinux x86_64。在安装时,我使用 fdisk 创建了一个交换分区,并使用sudo swapon /dev/sda3.
但即使sysctl vm.swappiness设置为0,当我的系统内存使用一半时,我的系统仍然会写入交换分区,并且当时我将一个大文件复制/移动到某个地方,这使得系统非常慢。在这种情况下,我曾经使用 关闭交换sudo swapoff /dev/sda3。
如今,我通常在启动后关闭交换,并在真正需要交换时启用它(并且我有一个 ruby 脚本来监视 RAM 使用情况,并在需要时打开交换)。下次启动时交换会再次激活。我在有关交换中没有条目/etc/fstab。
有没有办法永久禁用交换设备而不删除设备?
小智 9
ArchWiki提到 Archlinux 上的交换由 systemd 管理,并描述了如何通过屏蔽负责交换的 systemd 单元来禁用自动激活。因此,在 Archlinux 上,以下内容应该可以实现您正在寻找的内容:
#swapoff -a特定交换禁用交换或传递特定设备/文件名。此时交换已禁用,但将在下次启动时自动重新激活并启用。#systemctl --type swap。对于每个*.swap发现的单位,它使用 进行掩码#systemctl mask <unit_name>。只需systemctl unmask <unit_name>在先前屏蔽的单元上运行,然后使用打开交换即可撤消此过程swapon。
这取自以下两篇 Archwiki 文章:
| 归档时间: |
|
| 查看次数: |
8598 次 |
| 最近记录: |