如何启用 zram 并禁用交换分区?
如何使用 zram 而不是交换分区来获得速度和硬盘?
如何根据我的需要配置 zram?
为什么会做这些事?
答案1
这是启用 zram 的指南。按你喜欢的方式编辑它,并删除交换分区以使 Ubuntu 更快。
实际上,您不需要像 Ubuntu 在安装时建议的那样创建交换分区。只有在应用程序需要比可用内存更多的物理内存时,才需要交换分区。
- 例如,假设我想玩哇最低要求是 5 GB,但我只有 4 GB 的物理 RAM...这根本不可能,甚至做梦也想不到。这时系统将需要虚拟 RAM(交换)来认为您有更多 RAM。
- 假设我有 6 GB 的物理 RAM,其中 3 GB 用于活动进程,而游戏需要 5 GB 的 RAM... 可以玩吗?可以。Linux 将缓存其他进程并打开 WoW,但我将失去流畅快速地执行多任务的能力。当我Alt+Tab转到我的桌面或其他应用程序时,它将以慢动作发生,因为系统将缓存 WoW,从缓存中检索桌面或我请求的任何应用程序并将其移动到现在空闲的物理 RAM 中。
因此,我们只需要交换来使用需要更多物理 RAM 的应用程序。此外,当我们希望同时运行许多活动进程并且活动 RAM 不够时,我们也需要交换。但是交换非常慢;硬盘的运行速度比 RAM 慢 100 万倍。如果我们可以在 RAM 中交换会怎样?怎么做?通过压缩 RAM。这比硬盘快 100 万倍。
我们牺牲了极少量的 CPU 负载和极少量的 RAM 来获得更多 GB 的 RAM,但 RAM 比硬盘快 100 万倍,所以相信我这是值得的(这是最容易让每个人都理解的解释)。
所以:
不要在安装时创建交换分区,如果已经创建,只需从 USB 启动实时会话,然后使用以下命令删除交换分区分区或任何其他分区管理器,使用您刚刚获得的额外硬盘空间做您想做的事情。然后重新启动(这将需要一些时间,因为它会尝试安装一个不存在的分区。不要害怕;它会启动,否则我就不会在这里写它了)。启动时打开终端并执行以下操作:
sudo nano /etc/fstab
从文件中删除引用交换分区的行,保存并重新启动。
现在您可以快速启动,甚至比以前更快,因为您启动的分区更少。所以我们只需增加磁盘大小,就可以缩短启动时间。
现在让我们安装 zram 并根据我们的需求对其进行定制。
再次打开终端并执行:
sudo apt-get install zram-config
重启
再次打开终端并执行:
sudo cat /etc/init/zram-config.conf
该文件说了什么?zram 是在启动时使用文件创建的
pre-start exec /usr/bin/init-zram-swapping
这正是我们要编辑的内容:
sudo nano /usr/bin/init-zram-swapping
在线
totalmem=`LC_ALL=C free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/ *.*//'`
mem=$(((totalmem / 2 / ${NRDEVICES}) * 1024))
随意更改1024
。我输入的是 512,但它可以是任何数字,任何东西!它不需要是字节形式 128、512、1024 等。它可以是任何东西!
然后编辑行
swapon -p 5 /dev/zram${DEVNUMBER}
并更改5
为您想要的任何优先级。这就是您的交换性。
按Ctrl+O保存,按Ctrl+X退出。
重启。
检查你的交换。打开终端并执行
cat /proc/swaps
是你的电脑速度不够快吗?
这个想法是当我让一部旧安卓手机运行速度飞快时产生的,当时官方最后一次更新是几年前的安卓 4.0(Ice Cream Sandwich),我需要更多的内存来运行更新的应用程序,但我不想降低速度。好吧,我们确实会降低一些速度,但与我们换到慢速硬盘或一般硬盘时的速度相比,这算不了什么。那些使用较新机器的人不会注意到很大的差异,但他们确实获得了更快的速度,而旧机器又会再次变得更快。