虽然 ZRAM 是一个绝佳的解决方案,可以用一些 CPU 马力来获得更多 RAM,但如何配置它以将更多或更少的 RAM 专用于 ZRAM?如何更改压缩算法?在什么情况下值得进行此类更改?继续阅读以了解如何在 Ubuntu 上配置 ZRAM。
检查您当前的 ZRAM 状态
大多数人通过 zram-config 脚本在 Ubuntu 和基于 Debian 的 Linux 发行版上使用 ZRAM。这是因为它允许您以最直接的方式利用 ZRAM。您可以使用以下命令安装它:
接下来,检查您的 Ubuntu 计算机中是否已启用 ZRAM。您可以通过运行 zramctl 实用程序来做到这一点:
确保您的系统当前已禁用 Zswap:
Zswap 是一种替代 RAM 缓存解决方案,与 ZRAM 类似,每个 Linux 发行版都默认附带该解决方案。然而,与 ZRAM 不同的是,它依赖于物理交换分区,这意味着它在旧磁盘上可能会很慢。
重新启动计算机以在 Ubuntu 系统中创建初始 ZRAM 块设备。
了解正确的 ZRAM 设置
当您的计算机备份并运行时,检查它现在是否报告 ZRAM 分区:
您可以在我们的屏幕截图中看到与单个 ZRAM 块设备共存的典型交换文件。对此,我的系统有 4GB RAM 和 2GB ZRAM,这是我们 RAM 量的一半。但是,根据您的工作负载,您可能需要更改该大小。
- 如果您正在处理多媒体和视频,它们的压缩性不是很好,因此最好减小 ZRAM 的大小并增加实际交换的大小。
- 如果您正在使用大型数据库或高度可压缩的其他类型的数据,则情况恰恰相反。在这种情况下,您可以通过增加 ZRAM 的大小来提高计算机的响应速度。
另一个值得研究的调整与 ZRAM 使用的压缩算法有关。默认情况下,它使用LZO或LZO-RLE,这对CPU来说很轻。不过,在现代 CPU 上,较新的 ZSTD 算法通常会提供更好的压缩率,并且不会感觉到它对 CPU 造成的较高负担。如果您的电脑使用时间不到十年,那么值得使用此算法而不是较旧的 LZO 变体。
更改 ZRAM 大小
要更改 ZRAM 设置,您必须在“/usr/bin”文件夹中编辑其执行脚本。在终端中输入以下命令:
滚动浏览“init-zram-swapping”脚本并找到以mem
.
这定义了内核将为 ZRAM 块设备分配多少空间。默认情况下,它保留系统物理内存的一半。您可以通过将“1024”替换为“512”来将其减少到四分之一。
您还可以通过将 mem 值设置为“1536”来增加 ZRAM 占用的内存量。这会将四分之三的物理内存分配给 ZRAM。
更改 ZRAM 压缩算法
您还可以从同一位置更改 ZRAM 的压缩算法。为此,请打开一个新的终端会话,然后列出 ZRAM 的所有可用压缩算法:
您可以在高级自定义 ZRAM 配置中混合和匹配算法。但是,如果您使用默认值,所有 ZRAM 分区将使用相同的算法。
返回到我们之前编辑的“init-zram-swapping”执行脚本。在那里,找到以下行:
将其复制并直接粘贴到下面,以便您拥有同一命令的两个实例。
$mem
将行开头的第一个实例替换为“zstd”。
将行尾从“disksize”更改为“comp_algorithm”。
保存调整后的“init-zram-swapping”文件,然后重新启动计算机。
通过运行命令检查新的 ZRAM 设置是否正常工作zramctl
。
当系统主动使用调整后的交换时,请务必检查系统在负载下的性能。如果您感觉它嘎嘎作响或结结巴巴,您可能做得太过分了,需要调低您选择的值。另一方面,如果它在飞行,你可能可以再增加一些。
配置系统的 ZRAM 只是优化 Ubuntu 系统的第一步。了解如何通过在 Ubuntu 上编译您自己的 Linux 内核来充分发挥计算机的性能。同时,如果您希望构建更强大的 PC,那么构建 Linux PC 时需要注意以下事项。
图片来源:Liam Briese,来自 Unsplash。所有修改和屏幕截图均由 Ramces Red 进行。
发表回复