Ubuntu 進(jìn)一步降低硬件門檻,支持在 2GB 內(nèi)存的樹莓派 4 上運(yùn)行
Ubuntu 已經(jīng)支持 Raspberry Pi(樹莓派)4 Model B 的 4GB 和 8GB 內(nèi)存版本(自 Ubuntu 20.10 版本支持)?,F(xiàn)在 Ubuntu 團(tuán)隊計劃進(jìn)一步降低 Ubuntu 的硬件門檻,讓即將發(fā)布的 Ubuntu 22.04 LTS 版本能在只有 2GB RAM 的Raspberry Pi 4 上運(yùn)行。
然而,讓 Ubuntu 這樣一個完整的 Linux 系統(tǒng)在內(nèi)存過低的硬件設(shè)備上正常運(yùn)行是很困難的,那 Ubuntu 是如何做到的呢?那就不得不提到一個名為 zswap 的 Linux 內(nèi)核特性。
在提及 zswap 特性之前,先來說說 Linux 的虛擬內(nèi)存文件: swap file 。任何類型的 Linux 系統(tǒng)都會在硬盤或 SD 卡上分配一個 swap 文件,它充當(dāng) RAM(運(yùn)行內(nèi)存) 的一種溢出,在系統(tǒng)的可用內(nèi)存不足的時候,swap 文件會緩存部分頁面,釋放內(nèi)存給活躍的進(jìn)程使用,這樣系統(tǒng)即使在幾乎用完所有 RAM 時也能繼續(xù)工作。(另外提一下,Win 10 的系統(tǒng)盤也有 swapfile.sys 文件)
但是,使用 swap 文件的性能不如直接使用 RAM,因為訪問硬盤的速度比起使用內(nèi)存實在是太慢了,因此在這個過程中引入了 Zswap 特性。
zswap 本質(zhì)上是一個壓縮工具。當(dāng)一個進(jìn)程即將被移動到 swap 文件里面時,zswap 會對其進(jìn)行壓縮,并檢查壓縮過的新頁面是否仍需要移動,或者說可以保留在 RAM 中。如果壓縮過的頁面可以留在 RAM 中,那就等再次訪問的時候?qū)λM(jìn)行解壓。解壓一個“zswap”頁面比訪問 swap 文件要快得多,所以 zswap 特性非常適合低內(nèi)存的硬件設(shè)備。
如何開啟此特性?
由于 Ubuntu 默認(rèn)支持 zswap ,因此可以打開終端模擬器,通過一行簡單的命令
- sudo sed -i -e 's/$/zswap.enabled=1/' /boot/firmware/cmdline.txt
然后重啟板子,即可開啟特性。
事實上,zswap 只是降低 Ubuntu 硬件門檻的手段之一,此外還包括 z3fold 和 lz4 壓縮等一系列特性,這些優(yōu)化內(nèi)容將包含在 4 月發(fā)布的 Ubuntu 22.04 ,且在所有 Raspberry Pi 4 設(shè)備中默認(rèn)開啟。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Ubuntu 進(jìn)一步降低硬件門檻,支持在 2GB 內(nèi)存的樹莓派 4 上運(yùn)行
本文地址:https://www.oschina.net/news/178245/running-ubuntu-desktop-on-a-2gb-raspberry-pi-4