自定义 zram 并启用 zram 禁用交换分区

Pav*_*rou 2 swap zram

如何启用 zram 并禁用交换分区?

如何使用 zram 而不是交换分区来获得一些速度和硬盘?

如何根据我的需要配置 zram?

为什么要做这些事情?

Pav*_*rou 10

这是启用 zram 的指南。按照您喜欢的方式编辑它,并删除交换分区以使 Ubuntu 更快。

您实际上不需要像 Ubuntu 在安装时建议的那样创建交换分区。您只需要一个交换分区,以防应用程序需要比可用内存更多的物理 RAM。

  • 例如,假设我想玩《魔兽世界》,最低要求是 5 GB,但我只有 4 GB 的物理内存……这不会发生,甚至在我的梦中也不会发生。这就是系统需要虚拟 RAM(交换)以认为您有更多 RAM 的地方。
  • 假设我有 6 GB 的物理内存,3 GB 用于活动进程,而游戏需要 5 GB 的内存......它会玩吗?是的,会的。Linux 将缓存其他进程并打开 WoW,但我将失去平稳快速地进行多任务处理的能力。当我Alt+Tab转到我的桌面或其他应用程序时,它会以慢动作发生,因为系统将缓存 WoW,检索桌面或我从缓存中请求的任何应用程序并将其移动到刚刚空闲的物理 RAM .

所以我们只需要交换来使用需要更多物理内存的应用程序。当我们同时需要许多活动进程而活动 RAM 不够时,我们也需要交换。但是交换非常慢;硬盘的运行速度比 RAM 慢 100 万倍。如果我们可以交换 RAM 会怎样?如何?通过压缩 RAM。这比硬盘快 100 万倍。

我们牺牲了极少量的 CPU 负载和极少量的 RAM 来获得更多 GB 的 RAM,但是 RAM 比硬盘快 100 万倍,所以相信我这是值得的(这是对每个人最简单的解释理解)。

所以:

不要在安装时创建交换分区,如果您已经有了,只需从 U 盘启动实时会话并使用GParted或任何其他分区管理器删除交换分区,然后使用刚刚获得的额外硬盘空间做您喜欢的事情。然后重新启动(这需要时间,因为它会尝试挂载一个不存在的分区。不要害怕;它会启动,否则我不会在这里写它)。当您启动时打开终端并执行以下操作:

sudo nano /etc/fstab 
Run Code Online (Sandbox Code Playgroud)

从文件中删除引用交换分区的行,保存并重新启动。

现在您再次快速启动,甚至比以前更快,因为您启动的分区更少。所以我们只是增加了我们的磁盘大小,我们获得了启动时间。

在此处输入图片说明

现在让我们安装 zram 并根据我们的需要对其进行自定义。

再次打开终端并执行:

sudo apt-get install zram-config
Run Code Online (Sandbox Code Playgroud)

重启

再次打开终端并执行:

sudo cat /etc/init/zram-config.conf
Run Code Online (Sandbox Code Playgroud)

那个文件说什么?该 zram 是在启动时使用该文件创建的

pre-start exec /usr/bin/init-zram-swapping
Run Code Online (Sandbox Code Playgroud)

这正是我们要编辑的内容:

sudo nano /usr/bin/init-zram-swapping
Run Code Online (Sandbox Code Playgroud)

在线

totalmem=`LC_ALL=C free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/  *.*//'`
mem=$(((totalmem / 2 / ${NRDEVICES}) * 1024))
Run Code Online (Sandbox Code Playgroud)

更改1024为您喜欢的任何内容。我放的是 512,但它可以是任何数字,任何东西!它不需要是 128、512、1024 等字节形式。它可以是任何东西!

然后编辑该行

swapon -p 5 /dev/zram${DEVNUMBER}
Run Code Online (Sandbox Code Playgroud)

并更改5为您想要的任何优先级。那是你的交换。

在此处输入图片说明

Ctrl+O保存和Ctrl+X退出。

重启。

检查您的交换。打开终端并执行

cat /proc/swaps
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

你的电脑不是更快还是什么?

当我让旧的 Android 手机在 Android 7.1.1 上运行得非常快时,我想到了这个想法,当它获得的官方上次更新是几年前的 Android 4.0(冰淇淋三明治)时,我需要更多 RAM 来运行更新的应用程序,但我不想失去速度。好吧,我们失去了一些速度,但是与交换到慢速硬盘或一般硬盘时我们失去的速度相比,这不算什么。那些使用较新机器的人不会注意到很大的不同,但他们确实获得了更快的速度,并且旧机器会再次变得更快。