在SSD上进行交换:分区还是文件?

我正在将Ubuntu安装在一台三星EVO 850固态硬盘上。系统具有4GB的内存,但没有其他硬盘。我应该使用默认的分区表还是在安装后不设置交换空间,并创建一个交换文件?或者无论是分区还是文件都没有区别吗?

1没什么太大的区别。我投票关闭,因为这是基于个人观点的。 - Pilot6
1无论你如何实施,将SSD上的交换会导致寿命减少的磨损。 - Nonny Moose
我同意pilot6和Nonny Moose的观点。我建议不要在SSD上进行交换。只需关闭机器,不必担心休眠或暂停。 - Rinzwind
从17.04版本开始,在新的Ubuntu安装中,默认会创建一个交换文件而不是交换分区。这并非是Canonical基于个人意见做出的决定,而是基于固态硬盘(SSD)的普及和发展所做的合理升级。 - karel
@Rinzwind 我已经使用SSD上的交换空间多年了。这是一个观点问题。 - Pilot6
1就个人而言,我使用交换文件。只要RAM的容量足够大,交换文件就可以胜任,而且由于RAM的存在,交换空间并不经常被使用。然而,将交换文件/分区放在硬盘或USB上也是一个选择。 - Sergiy Kolodyazhnyy
有4GB或更多的RAM,这个问题就无足轻重了。在正常使用情况下,你根本不会使用交换空间。但是如果不休眠,也不打开数百个标签,或者编辑大型视频,那么建议你增加更多的RAM。 - oldfred
1@oldfred,你的正常使用明显与我的不同。还没到上午十点就已经使用了9GB。 - jymbob
Linux 会随着时间推移使用掉你所有的内存。Linux 吃掉了我的内存!- 内存使用高速缓存 http://www.linuxatemyram.com/ & RAM 上的详细信息屏幕与 free 命令之间的区别 http://askubuntu.com/questions/743649/new-16gb-of-ram-installed-yet-i-see-15-3-on-my-system-why?noredirect=1#comment1106622_743649 & https://askubuntu.com/questions/184217/why-most-people-recommend-to-reduce-swappiness-to-10-20/184221#184221 - oldfred
我认为其中一些评论没有帮助。有些情况与我的情况相似:1. 我不能添加一个旋转硬盘(因为使用外部通过USB连接的硬盘会牺牲便携性)。2. 我不能升级内存,因为这个愚蠢的型号将内存焊接在主板上。3. 内存使用率很高。4. 使用USB闪存驱动器进行交换是一个选择,但会牺牲便携性并且使用了两个可用端口中的一个,而这两个端口都非常需要。我可以购买一台新电脑,但这比使用交换更麻烦,而且假设某人可能没有购买新电脑的条件。 - Carolus
1个回答

对于新安装的Ubuntu 17.04及更高版本,默认创建交换文件而不是交换分区。首个默认使用交换文件的LTS版本是Ubuntu 18.04。这是一个逻辑上的新功能,因为SSD的出现。在SSD上创建交换分区会导致寿命缩短。*


对于关注SSD寿命的用户来说,值得考虑的另一件事是将swappiness减少到0或者可能是5。虽然这还有待定论... - joeytwiddle
4目前还没有人完全清楚地说过这个问题 - 交换文件对SSD的磨损比交换分区小吗? 例如,由于SSD能够通过写入更多数据来重新排列被磨损的特定块 - 即SSD磨损管理器在系统分区上有整个可用空间来使用交换文件,而在交换分区上只有非常有限的空间。 - Carolus
1所以在2020年,在Ubuntu 17+上,我没有理由去碰Swap文件,因为操作系统会为我处理一切。 - Eliezer Berlin
2对于新安装的Ubuntu 17.04+以及所有从相同版本升级的发布版本,交换文件将自动创建(包括默认情况下由Ubuntu安装程序创建),无需任何额外的用户干预。 - karel
Carolus的问题仍未解决。交换文件是否会比交换分区造成更少的磨损?我不确定SSD和HDD在分区方面的差异是如何工作的,我只知道它们在某种程度上是不同的,并且SSD在更逻辑的层面上工作。所以我预计这不会有任何区别(但如果有的话,为什么他们会在Ubuntu TBW中实现这个功能呢?),但我不是SSD专家。既然我们谈到了这个问题,如果你有选择将其中一个放入HDD以减少磨损的选项,那么这样做是否明智? - Piovezan
SSD的寿命比HDD长得多,因为它是一种无动件的固态硬盘,而HDD则有一个旋转的磁盘,容易受到机械磨损的影响。在Ubuntu中,交换空间可以根据类型、大小、位置等进行配置。我在Ubuntu 20.04中使用的交换文件仍然是Ubuntu安装程序默认设置的1.5GB交换文件,并且它位于我安装Ubuntu的SSD上。 - karel
@karel 这与问题无关。SSD有写入次数的限制,而HDD没有,因此在SSD上频繁进行内存交换可能会对其产生较大影响。 - Piovezan
根据SSD型号,SSD的预期最大写入次数可以是一个很大的数字。 - karel
@karen 这是我的问题。对于固态硬盘来说,多少次交换才算太多?一个拥有16GB内存的系统每天进行日常休眠时,至少会写入16GB的数据,更不用说在工作过程中频繁的交换了,这取决于你打开了多少应用程序以及如何使用系统内存。一般来说,内存越大,交换的次数就越少,但这仍然取决于应用程序和操作系统如何使用内存。 - Piovezan
1你说得一点没错。这完全取决于你打算如何使用交换空间。我的电脑有很多内存,而且我从不休眠它,所以不需要太多的交换空间。顺便说一下,在Ubuntu中,可以配置交换文件以动态调整大小,以节省磁盘空间。 - karel