我已经在 Debian Bullseye 上安装了k3s(通过 qemu/ UTM在 M1 Pro 上)。
k3s 建议禁用交换。阅读以下问题的答案后:
我有 :
- 禁用 systemd 交换服务
sudo systemctl mask "dev-*.swap"
- 删除了中的交换分区
/etc/fstab
。 - 删除交换分区并扩展主分区以重新获得空间
- 将swapiness设置为0
/etc/sysctl.conf
我现在有:
root@debian:~# systemctl --type swap --all
UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.
root@debian:~# sysctl vm.swappiness
vm.swappiness = 0
root@debian:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
vda 254:0 0 10G 0 disk
├─vda1 254:1 0 512M 0 part /boot/efi
└─vda2 254:2 0 9.5G 0 part /
root@debian:~# free
total used free shared buff/cache available
Mem: 1000692 705588 34164 1704 260940 221484
Swap: 0 0 0
root@debian:~# swapon -s
root@debian:~#
但是当我跑步时k3s check-config
,我仍然有:
- swap: should be disabled
我应该怎么做才能完全禁用 k3s 眼中的交换?
交换激活可能发生在引导过程的早期,而系统仍在 initramfs 上运行,因此在删除交换配置项后,您应该执行
update-initramfs -u
.我也看不到 a
systemctl stop "dev-*.swap"
或swapoff -a
任何地方:那些将是实际禁用已激活交换区域的命令。systemctl mask
肯定会阻止交换单元启动,但它对已激活的交换区域根本没有任何作用。您应该确保systemctl mask
首先停止您正在使用的任何单位。我多次重新启动 Debian Bullseye VM,但这还不够。无论出于何种原因,我不得不停止并重新启动UTM。在那之后,k3s看到交换被删除了。