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,因?yàn)樵L問硬盤的速度比起使用內(nèi)存實(shí)在是太慢了,因此在這個過程中引入了 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
然后重啟板子,即可開啟特性。
事實(shí)上,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