最近在折腾Stick电脑,从gnome桌面换到更轻量的LXDE也不解渴,这时候ZRAM派上用场。
在内存有限的机器上,ZRAM 是一个很好提升性能的解决方案,因为它会在内存中创建一个压缩块设备,从而更有效地管理内存。

什么是 ZRAM?
ZRAM 是一个 Linux 内核模块,它允许您在内存中创建一个压缩块设备,通过压缩存储在内存中的数据,有效地增加系统可用内存量。这对于物理内存有限的系统尤其有用,可以使它们同时运行更多应用程序而不会降低速度。

zRAM 的原理是:将进程不常用的内存压缩存储,从而达到节省内存的使用。

zRAM 机制建立在 swap 机制之上,swap 机制是将进程不常用的内存交换到磁盘中,而 zRAM 机制是将进程不常用的内存压缩存储在内存某个区域。所以 zRAM 机制并不会发生 I/O 操作,从而避免因 I/O 操作导致的性能下降。
zRAM
由于 zRAM 机制是建立在 swap 机制之上,而 swap 机制需要配置 文件系统 或 块设备 来完成的。所以 zRAM 虚拟一个块设备,当系统内存不足时,swap 机制将内存写入到这个虚拟的块设备中。也就是说,zRAM 机制本质上只是一个虚拟块设备。
zram原理
从上图可以看出,在开启了 zRAM 机制的情况下,当系统内存不足时,内核会进行如下操作:

  • 通过 swap 机制从系统中查找一些进程不常用的内存。
  • 将这些不常用的内存交换到 zRAM 块设备中,而 zRAM 块设备首先会对这些不常用的内存进行压缩,然后存储起来。
  • 把不常用的内存压缩存储到 zRAM 块设备后,swap 机制会把这些不常用的内存归还给内核。
  • 当进程访问到这些被交换到 zRAM 块设备的内存时,swap 机制将会通过 zRAM
    块设备解压这些内存,并且重新建立与进程的地址映射关系。

Swap&Memory
在 Ubuntu 上安装和配置 ZRAM。

步骤 1:检查 Ubuntu 内存使用情况
在安装 ZRAM 之前,最好先运行 free 命令查看系统当前使用的内存量。

free -h

检查 Ubuntu 内存使用情况
此命令显示您的总内存、已用内存和可用内存。请记住这些信息,以便稍后查看 ZRAM 如何提升系统性能。

步骤 2:在 Ubuntu 中安装 ZRAM
ZRAM 已包含在 Linux 内核中,因此您只需加载 ZRAM 模块并进行验证即可。

sudo modprobe zram
lsmod | grep zram

在 Ubuntu 中加载 ZRAM
如果您在输出中看到 zram,则表示模块已成功加载。

步骤 3:在 Ubuntu 中配置 ZRAM
接下来,您需要配置 ZRAM 才能有效地使用它,这需要创建一个脚本来使用您所需的配置设置 ZRAM。

sudo nano /etc/systemd/system/zram.service

将以下配置复制并粘贴到文件中。

[Unit]
Description=ZRAM Configuration
After=local-fs.target

[Service]
Type=oneshot
ExecStart=/usr/sbin/modprobe zram
ExecStart=/bin/sh -c 'echo 2G > /sys/block/zram0/disksize'
ExecStart=/bin/sh -c 'mkswap /dev/zram0'
ExecStart=/bin/sh -c 'swapon /dev/zram0'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

注意:将 ExecStart 行中设置 disksize 的值 2G 更改为您想要的 ZRAM 大小。您可以根据系统的 RAM 大小设置任何大小。通常的做法是将其设置为 RAM 大小的 50-100%。

现在使用以下命令启动并启用 ZRAM 服务。

sudo systemctl daemon-reload
sudo systemctl enable zram.service
sudo systemctl start zram.service

启动服务后,您可以检查 ZRAM 是否已激活并正在使用。

swapon --show

检查 ZRAM 状态,您应该会看到列出了 /dev/zram0,表明 ZRAM 已激活并用作交换空间。

步骤 4:监控 ZRAM 内存使用情况

要查看 ZRAM 如何影响内存使用情况,您可以再次使用 free -h 命令:

free -h

您应该会注意到可用内存量有所增加,因为 ZRAM 允许您的系统有效地使用压缩内存。

步骤 5:调整 ZRAM 配置(可选)

如果您发现系统性能未达到预期,您可能需要调整 ZRAM 的大小。

为此,请停止 ZRAM 服务。

sudo systemctl stop zram.service

打开您之前创建的配置文件。

sudo nano /etc/systemd/system/zram.service

将 disksize 值更改为您想要的大小,然后再次启动 ZRAM 服务。

sudo systemctl start zram.service

结论
在 Ubuntu 上使用 ZRAM 可以显著提高系统性能,尤其是在 RAM 有限的情况下。按照本指南中的步骤操作,您可以轻松安装和配置 ZRAM,从而更好地管理系统的内存。

最后修改:2025 年 12 月 16 日
如果觉得我的文章对你有用,请随意赞赏