如何启用 zram 并禁用交换分区?
如何使用 zram 而不是交换分区来获得一些速度和硬盘?
如何根据我的需要配置 zram?
为什么要做这些事情?
Pav*_*rou 10
这是启用 zram 的指南。按照您喜欢的方式编辑它,并删除交换分区以使 Ubuntu 更快。
您实际上不需要像 Ubuntu 在安装时建议的那样创建交换分区。您只需要一个交换分区,以防应用程序需要比可用内存更多的物理 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 来运行更新的应用程序,但我不想失去速度。好吧,我们失去了一些速度,但是与交换到慢速硬盘或一般硬盘时我们失去的速度相比,这不算什么。那些使用较新机器的人不会注意到很大的不同,但他们确实获得了更快的速度,并且旧机器会再次变得更快。
| 归档时间: |
|
| 查看次数: |
16090 次 |
| 最近记录: |