Ubuntu 进一步降低硬件门槛,支持在 2GB 内存的树莓派 4 上运行

来源: OSCHINA
编辑: 罗奇奇
2022-01-13

Ubuntu 已经支持 Raspberry Pi(树莓派)4 Model B 的 4GB 和 8GB 内存版本(自 Ubuntu 20.10 版本支持)。现在 Ubuntu 团队计划进一步降低 Ubuntu 的硬件门槛,让即将发布的 Ubuntu 22.04 LTS 版本能在只有 2GB RAM 的Raspberry Pi 4 上运行。

然而,让 Ubuntu 这样一个完整的 Linux 系统在内存过低的硬件设备上正常运行是很困难的,那 Ubuntu 是如何做到的呢?那就不得不提到一个名为 zswap 的 Linux 内核特性。

在提及 zswap 特性之前,先来说说  Linux 的虚拟内存文件: swap file 。任何类型的 Linux 系统都会在硬盘或 SD 卡上分配一个 swap 文件,它充当 RAM(运行内存) 的一种溢出,在系统的可用内存不足的时候,swap 文件会缓存部分页面,释放内存给活跃的进程使用,这样系统即使在几乎用完所有 RAM 时也能继续工作。(另外提一下,Win 10 的系统盘也有 swapfile.sys 文件)

但是,使用 swap 文件的性能不如直接使用 RAM,因为访问硬盘的速度比起使用内存实在是太慢了,因此在这个过程中引入了 Zswap 特性。

zswap 本质上是一个压缩工具。当一个进程即将被移动到 swap 文件里面时,zswap 会对其进行压缩,并检查压缩过的新页面是否仍需要移动,或者说可以保留在 RAM 中。如果压缩过的页面可以留在 RAM 中,那就等再次访问的时候对它进行解压。解压一个“zswap”页面比访问 swap 文件要快得多,所以 zswap 特性非常适合低内存的硬件设备。

如何开启此特性?

由于 Ubuntu 默认支持 zswap ,因此可以打开终端模拟器,通过一行简单的命令

sudo sed -i -e 's/$/zswap.enabled=1/' /boot/firmware/cmdline.txt

然后重启板子,即可开启特性。

事实上,zswap 只是降低 Ubuntu 硬件门槛的手段之一,此外还包括 z3fold 和 lz4 压缩等一系列特性,这些优化内容将包含在 4 月发布的 Ubuntu 22.04 ,且在所有 Raspberry Pi 4 设备中默认开启。

展开阅读全文
5 收藏
分享
加载中
最新评论 (27)
降低硬件门槛的意义在于: 在这么低级的硬件上都能用了, 那么在好的硬件上 岂不是起飞了?

主要就是告诉我们,他的性能更好了,更节省资源了。 不是为了让你们去 低级硬件上使用的。
2022-01-14 10:11
0
回复
举报
笑死,这楼层
2022-01-14 08:42
0
回复
举报
然后重启板子,即可开启特性 ---- 好像 Windows 各版本,多年来都默认开启硬盘虚拟内存。
Ubuntu 发行版搞了那么多年,现在也只在Raspberry Pi 4 设备中默认开启,搞什么搞?
那是不是要给微软点赞?
2022-01-14 08:06
0
回复
举报
硬盘虚拟内存=swap,此处的zswap是内存上压缩,这个功能windows有没有呢?
2022-01-14 12:33
0
回复
举报
内存压缩技术,之前在 dos/windows 上出现过,有个公司做这个生意。
后来被人揭穿是骗子,没什么用。之后 windows 界再也无人做这类事情。哈哈哈。
2022-01-14 12:39
0
回复
举报
CDLinux早在十几年前就使用这种技术来做64m~256m内存中运行图形界面了,只是你孤陋寡闻而已
2022-01-16 14:43
0
回复
举报
谁说的到 CDLinux 或其它 Linux 了?
我这里说的是 Ubuntu 公司的发行的 Ubuntu 操作系统。
你的意思是,我说了一点Ubuntu 操作系统不好的话,就是在说整个 Linux 行业不行了?难道有这种推论逻辑么?
2022-01-17 09:21
0
回复
举报
在TF卡上开swap,我滴个亲娘嘞……
2022-01-13 21:51
0
回复
举报
电脑软件行业的内存,意思是手机行业的运行内存,也就是树莓派的板载内存。不是可插拔的 TF 卡。
2022-01-14 14:36
0
回复
举报
不懂可以不用强答的。
2022-01-16 01:18
0
回复
举报
说给你自己听吧。
2022-01-17 09:19
0
回复
举报
建议先去学习一下swap是啥东西。
2022-01-17 17:41
0
回复
举报
小内存的话,直接用 debian (Debian GNU/Linux 11.1 安装,https://my.oschina.net/jacklondon/blog/5381735), 或者其它 mini-linux, 干嘛要用 ubuntu 普通发行版呢?
我记得有个 Ubuntu for IoT 可用于小内存的,现在自家 Ubuntu Desktop 与 Ubuntu for IoT 内部竞争么?
2022-01-13 13:35
0
回复
举报
2012年 刚参加工作, 联想y450 2g内存 记得在虚拟机里安过Ubuntu呀 当时主机还安了oracle 至少没有卡到不能用
2022-01-13 10:33
0
回复
举报
现在不行了,一个网页,即使是静态数据为主,也要几兆。
除非网站本身就是静态页面,诸如国学导航之类的。
而且浏览器也更能吃内存了。

以前我有个10寸笔记本,2G内存,ideapad flex10, 15年还能用,16年上半年开始浏览网站时偶尔死机,到下半年基本没开几个标签就死机了。

我那时装的linux系统,应该是debian吧,也就是看看文档,看看视频而已。
2022-01-13 10:45
0
回复
举报
html5 + css3 标准里的内容越来越多,浏览器也不得不做大,与网页无关。
即使网页只有几行字,启动最新的 firefox 去打开,一样内存占用大。因为 firefox 的网页解析/渲染引擎,已经做得很复杂了(为应对复杂的 html5+css3标准)。
所以,最后的解决办法,应该是另外指定一套简洁版的 html + css 标准,使用简洁版的浏览器来查看。
2022-01-13 13:42
0
回复
举报
我 2007 年买的电脑,2G 内存,买的时候是安装 xp, 前一阵子刚安装 debian 11 给家里老人做上网本。
想要不卡,一是少安装那些会一直运行的应用软件,二是尽量安装某个软件的旧版本,比如十年前的 oracle 某个版本。
2022-01-13 13:39
0
回复
举报
不要龟壳和adobe的东西,桌面用kde3.5或者lxde,firefox+adblock,再换块固态硬盘,一直升级,流畅得很,我退役的笔记本就是这么搞了十年,直到被我拆成了零件。
2022-01-14 21:09
0
回复
举报
2G?10年前的电脑也不过如此。
2022-01-13 09:53
0
回复
举报
把内存的压力转到CPU上
2022-01-13 09:07
0
回复
举报
macbook m1 设备证明,只要 SSD 足够快,zswap 其实也没那么重要,7G/s 的速度快赶上十几年前内存了
2022-01-13 08:57
2
回复
举报
只要传得够快就不需要存储.jpg
2022-01-13 09:10
1
回复
举报
事实证明,只要内存足够大,用不断电,ssd也没什么用
2022-01-13 11:07
4
回复
举报
事实证明 只要CPU L1,L2,L3缓存够大,又不断电,内存也没什么用
2022-01-13 12:00
4
回复
举报
事实证明 只要网速够快 只需要一个显示器就可以了 CPU也没什么用
2022-01-13 14:08
4
回复
举报
事实证明,想象力够丰富,计算机也可以不要
2022-01-13 16:39
0
回复
举报
事实证明,如果人没有什么追求,想象力也可以不要。哈哈哈。
2022-01-14 08:08
0
回复
举报
更多评论
27 评论
5 收藏
分享
返回顶部
顶部