swap 分区禁用不了

2023-07-30 14:09:15 +08:00
 qiyilai
虚拟机:VMware® Workstation 15 Pro 15.5.1 build-15018445
操作系统: Ubuntu 20.04.6 LTS
安装时分配了 swap 分区 2GB ,后面想关闭 swap 分区,操作步骤如下
1 、sudo swapoff -a
2 、vim /etc/fstab 注释了 # /swap.img none swap sw 0 0
3 、reboot 后,free -h 查看,Swap: 2.0Gi 0B 2.0Gi
不知道有没有谁遇到过类似情况,搜了许多,都没有答案,新安装的系统,看了系统日志,没用其他脚本和服务去创建
2071 次点击
所在节点    Ubuntu
13 条回复
ho121
2023-07-30 14:10:35 +08:00
是不是 zram ?
qiyilai
2023-07-30 14:17:11 +08:00
@ho121 lsmod | grep zram 看了下,没有加载
msg7086
2023-07-30 15:22:49 +08:00
到底是 swap 分区还是 swap 文件?你第二行注释掉的是 swap 文件啊?
qiyilai
2023-07-30 15:59:05 +08:00
@msg7086 [从 Ubuntu 19.04 版本开始,Ubuntu 安装程序默认创建一个 swap 文件而不是 swap 分区] 我在安装系统的分区的时候手动分了一个 2G 的 swap 分区,swapon -s 看了后确实有个/dev/sda3 ,然后我只禁用了自动创建的 swap 文件,分区还是在的。。不知道为什么会自动弄一个默认的分区文件,感觉时在给新手默认挖坑
flyqie
2023-07-30 15:59:22 +08:00
@msg7086 #3

对,楼主到底想说的是哪个。。。
qiyilai
2023-07-30 16:01:39 +08:00
@flyqie 😂 我的问题,没仔细看文件内容,以为用的时我手动创建的分区,没想到系统自己弄了个
flyqie
2023-07-30 16:04:18 +08:00
@qiyilai #4

讲真,先不讨论他这个是不是 bug 哈。

我觉得确实创建一个 swapfile 比创建一个 swap 分区合理,也更易于扩展和迁移。
qiyilai
2023-07-30 16:13:26 +08:00
@flyqie 这种确实灵活一点
msg7086
2023-07-30 16:51:57 +08:00
@qiyilai 用 Swap 分区而不是文件,主要原因是从休眠中唤醒的实现比较方便。Swap 文件需要在唤醒之前加载文件系统驱动,而 Linux 又不像 Windows 那样只需要一个 ntfs 驱动就能解决。所以需要从休眠唤醒的系统,用 Swap 分区是更好的选择。如果只是要当虚拟内存用的话,如果不在 CoW 文件系统上,应该没有很大的区别。
secondwtq
2023-07-30 23:37:38 +08:00
是不是 systemd 给你默认挂载了
如果可能的话,把 swap 分区彻底删掉试试
qiyilai
2023-07-31 10:08:34 +08:00
@msg7086 学习了,多谢
weeei
2023-10-01 23:11:35 +08:00
关于 swap 文件还是分区的问题,这里有讨论: https://lwn.net/Articles/848265/
weeei
2023-10-01 23:12:40 +08:00
Linus 说的:And, as far as I know, all the normal distributions set things up with
swap partitions, not files, because honestly, swapfiles tend to be
slower and have various other complexity issues.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX