Linux、SSD 和交换

Linux、SSD 和交换

文章建议不要在 SSD 驱动器上创建交换空间,以减少其磨损。另一方面,它建议这里该交换空间会对性能产生积极影响。

放弃交换是更好的选择吗?或者也许一些交换性的调整可以让我们鱼与熊掌兼得。该设备是华硕T200TA,唯一确定的驱动器是32GB eMMC(HDD可拆卸),并且只有2GB RAM。

答案1

请注意,Linux 在过去几年中获得了 zRAM 功能。它是一个压缩的 ramdisk,可用于交换空间,即压缩非活动内存内容。 Gentoo Wiki 上的条目声称它可以实现大约 3:1 的压缩比。

对于任何内存不太理想的台式机来说,这听起来都值得考虑(4GB 对于大多数当前的台式机环境来说是理想的选择)。微软开始在 Windows 8 中做同样的事情(有时还加上 Windows Phone,还有一些 Android 手机使用 zRAM)。

zRAM 需要一些手动配置,但至少对于 Ubuntu 来说,有一些软件包可以自动设置它。如果您想以较低的优先级运行正常交换(以及这是否有效?!),您可能需要进行一些调查。该zram-config软件包可从 ubuntu 存储库获取。显然,如果您有 2GB 或更少内存,Fedora 21 会自动启用 zRAM。

答案2

如果性能良好——您不必在应用程序之间切换时等待、磁盘抖动且活动 LED 常亮——那么也不必担心太多磨损。

您可以在安装时分配 2G 空间用于交换,然后使用 GNOME 磁盘等减小分区/交换大小。我个人会先尝试512M或1G。我假设您没有考虑休眠(通常需要 2G+ 交换)。

然后我可以看到我使用了多少交换空间,以及是否遇到内存不足或完全交换速度减慢的问题。我承认我不确定如何区分颠簸交换(太多的活动应用程序,由太多的交换启用)与缓存(没有足够的交换来调出不活动的应用程序内存)。在这两种情况下,您都会看到磁盘指示灯亮起并且交换相当完整。如果我可以可靠地测试问题案例,也许vmstat 1可以观察交换列。

我对 eMMC 上的 2GB 交换持谨慎态度(性能低于昂贵的 SSD)。 Linux 桌面内存管理的历史有些曲折,交换并不是为 eMMC 设计的。

如果您使用了所有交换,您可能会发现机器实际上变得无法使用。内存不足可能会更好,因为您无需重新启动即可恢复计算机。尽管它可能会杀死您想要和期望生存的程序。

我的 GNOME shell 和一些应用程序大约有 1G“已用”(可交换)加上 1G+“缓存”(只读数据/代码,只能从文件系统重新读取)。

如果您投入 1G 进行交换,那么考虑到您的 eMMC,需要多长时间才能将其全部交换回来? (GNOME Disks 可以为您对分区进行基准测试:)。例如 10 秒读完?然后,如果您同时交换之前的工作设置,则 eMMC 上的(较慢的)写入将需要更长的时间。对我来说听起来不太好。

进行交换的一个小原因是 tmpfs。我/run积累了大约一兆,我怀疑所有的东西都需要在内存中。

答案3

我不会打扰并继续使用 2GB 交换分区。
你必须总是有一些交换空间,特别是“只有”2GB RAM,这对于 Linux 和像 LXDE 或 Xfce 这样的轻型 DE 来说已经足够了,只要你有 2GB 交换空间(或者如果你不使用任何浏览器,就不要编译任何消耗大量内存的事情或做任何事情!)。

相关内容