大内存有没有必要创建swap

如题,电脑内存是96G,还有必要创建swap吗,因为我看有的文章说电脑休眠需要swap。

是的,如果你不需要休眠也可以不创建 swap。

我从B站某个up主了解到Linux不会自动处理,有个会好一点

完全取决于需求。

  1. 你有休眠的需求,就需要swap
  2. 你的内存不太够用、但工作集又小于内存总量,那就适合使用swap

不明白有什么需要、或者适合怎样的「自动处理」。swap的使用完全取决于需求,怎么自动呢?

其实有个很简单的办法来判断这个:你加一个swap,如果经常有占用,就说明适合使用swap;如果一直空闲着,就说明加swap无用。

明白,我以前32G内存的时候会创建swap,但现在96G内存,装系统的时候就没分配。

而且现在系统只有睡眠没有休眠,我查了一下睡眠和休眠不一样,睡眠就不需要swap了,所以我觉得我应该没必要分配swap了,万一分配了真有占用,是不是还算是拖慢速度了

不会。拖慢运行速度的从来不是swap,而是内存不足。

以后有需要加swapfile也行。很灵活的。

不分了,如果一定要就建一个swap文件,这样子行不行

如果根分区的文件系统是 btrfs 可能有点麻烦,需要重新调整 btrfs 的子卷布局[1]

我用的系统是 LinuxMint,根分区文件系统是 btrfs。我在 / 下创建 swapfile [2] 后, 执行 sudo swapon /swapfile,系统提示 swapon: /swapfile:swapon 失败: 无效的参数

顺便请教一下大家,

  1. 在 btrfs 格式的根分区上使用 swapfile 有哪些需要注意的地方?
  2. 我的硬盘上还有一个格式为 ext4、容量充足、挂载点为 /home 的分区(以下简称“home 分区”),请问是否可以将 swapfile 放入 home 分区?

  1. 参考:https://zhuanlan.zhihu.com/p/355986059 ↩︎

  2. 具体操作参考的是这篇文章:https://zhuanlan.zhihu.com/p/109084885 ↩︎

可以考虑换用 zram,这样就不需要 swapfile 了。

1 个赞

请使用btrfs filesystem mkswapfile命令来在btrfs上创建swap文件。

成功了就没什么要注意的。

创建的时候要注意:swap文件在使用时,它所在的子卷不能被快照。不支持在RAID配置的btrfs上使用swap文件。

没有问题啊。

1 个赞