幾週前我發布了
在您的電腦中安裝 Raspberry Pi 後
在 Raspberry Pi 上啟動 ZRAM
Raspberry Pi 4 配備 1、2、4 或 8 GB RAM。 我將使用 1GB 型號,因此請根據您的型號調整說明。 使用 1 GB ZRAM 時,預設交換檔案(速度很慢!)的使用頻率將會降低。 我用了這個腳本
上面連結的存儲庫中提供了說明。 安裝:
git clone https://github.com/foundObjects/zram-swap.git
cd zram-swap && sudo ./install.sh
如果你想編輯配置:
vi /etc/default/zram-swap
另外,您可以透過安裝來啟動ZRAM zram-tools
. 如果您使用此方法,請務必編輯配置 在文件中 /etc/default/zramswap
,並安裝約 1 GB ZRAM:
sudo apt install zram-tools
安裝後,您可以使用以下命令查看ZRAM儲存統計資料:
sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 265472 5
pi@raspberrypi:~ $
添加核心參數以更好地使用 ZRAM
現在讓我們修復當 Raspberry Pi 在最後一刻切換到交換時系統的行為,這通常會導致凍結。 讓我們在文件中添加幾行 /etc/sysctl.conf中 並重新啟動。
這些行 1) 會延遲不可避免的記憶體耗盡,增加核心快取的壓力和2) 他們更早開始為記憶耗盡做好準備,提前啟動交換。 但透過 ZRAM 交換壓縮記憶體會高效得多!
以下是要在文件末尾添加的行 /etc/sysctl.conf中:
vm.vfs_cache_pressure=500
vm.swappiness=100
vm.dirty_background_ratio=1
vm.dirty_ratio=50
然後我們重新啟動系統或使用以下命令啟動變更:
sudo sysctl --system
vm.vfs_cache_Pressure=500 增加快取壓力,從而增加核心回收用於快取目錄和索引物件的記憶體的傾向。 您將在更長的時間內使用更少的記憶體。 早期的交換抵消了性能的急劇下降。
vm.swappiness = 100 增加核心交換記憶體頁面的積極程度的參數,因為我們首先使用 ZRAM。
vm.dirty_background_ratio=1 & vm.dirty_ratio=50 - 後台程序在達到 1% 限制時將立即開始記錄,但係統不會強制同步 I/O,直到達到 dirty_ratio 50%。
如果您有以下四行(與 ZRAM 一起使用時)將有助於提高效能 不可避免地 RAM 耗盡,開始過渡到交換,就像我的一樣。 知道這個事實,並且考慮到 ZRAM 中的記憶體壓縮了三倍,最好提前啟動此交換。
對緩存施加壓力是有幫助的,因為我們本質上是在告訴內核,“嘿,看,我沒有任何額外的內存可用於緩存,所以請盡快擺脫它,只存儲最常用/最重要的數據。”
即使減少了緩存,如果隨著時間的推移,大部分已安裝的內存都被佔用,內核也會更早地開始機會性交換,這樣CPU(壓縮)和交換I/O 就不會等到最後一刻,並在出現問題時立即使用所有資源。已經太晚了。 ZRAM 使用少量 CPU 進行壓縮,但在大多數記憶體量較小的系統上,它對效能的影響比沒有 ZRAM 的交換要小得多。
總之
我們再看一下結果:
pi@raspberrypi:~ $ free -h
total used free shared buff/cache available
Mem: 926Mi 471Mi 68Mi 168Mi 385Mi 232Mi
Swap: 1.2Gi 258Mi 999Mi
pi@raspberrypi:~ $ sudo cat /proc/swaps
Filename Type Size Used Priority
/var/swap file 102396 0 -2
/dev/zram0 partition 1185368 264448 5
ZRAM 中的 264448 幾乎是 XNUMX GB 的未壓縮資料。 所有內容都進入 ZRAM,沒有任何內容進入速度慢得多的頁面檔案。 親自嘗試這些設置,它們適用於所有 Raspberry Pi 型號。 我無法使用、凍結的系統變成了一個功能齊全且穩定的系統。
在不久的將來,我希望繼續更新這篇文章,並提供一些在安裝 ZRAM 之前和之後測試系統的結果。 現在我只是沒有時間做這件事。 同時,請隨意運行您自己的測試並在評論中告訴我。 Raspberry Pi 4 是具有這些設定的野獸。 享受!
關於這個問題:
Linux 效能:為什麼您幾乎總是需要增加交換空間 (2017)Linux 效能:幾乎總是增加交換空間。 第 2 部分:ZRAM (2020)
來源: www.habr.com