如何通過ZRAM內(nèi)核模塊壓縮Ubuntu內(nèi)存? Linux使用zram壓縮內(nèi)存教程

如果你正在使用 Ubuntu 系統(tǒng),并且希望在內(nèi)存受限的機器上提升系統(tǒng)性能,ZRAM 是一個非常不錯的選擇。通過壓縮內(nèi)存中的數(shù)據(jù),ZRAM 可以有效減少物理內(nèi)存的占用,從而讓系統(tǒng)可以運行更多的應(yīng)用程序,或處理更大規(guī)模的任務(wù)。
1. 什么是 ZRAM?
ZRAM 是一個 Linux 內(nèi)核模塊,它可以在系統(tǒng)內(nèi)存(RAM)中創(chuàng)建一個壓縮的塊設(shè)備 (Block Device)。通過壓縮內(nèi)存中的數(shù)據(jù),ZRAM 可以增加可用內(nèi)存的有效容量。
與傳統(tǒng)的交換分區(qū)(swap)相比,ZRAM 不使用磁盤空間,而是直接在內(nèi)存中進(jìn)行數(shù)據(jù)壓縮,從而減少了頻繁的磁盤 I/O 操作帶來的性能瓶頸。
1.1 ZRAM 的工作原理
- 創(chuàng)建塊設(shè)備:ZRAM 會創(chuàng)建一個虛擬塊設(shè)備。這個設(shè)備不會像傳統(tǒng)塊設(shè)備(如磁盤分區(qū))那樣將數(shù)據(jù)存儲在磁盤上,而是直接將數(shù)據(jù)保存在內(nèi)存中。
- 數(shù)據(jù)壓縮:當(dāng)系統(tǒng)向 ZRAM 塊設(shè)備寫入數(shù)據(jù)時,ZRAM 模塊會對數(shù)據(jù)進(jìn)行壓縮,并將壓縮后的數(shù)據(jù)存儲在內(nèi)存中。這種方式可以在不增加物理內(nèi)存的情況下「變相擴展」內(nèi)存容量。
- 數(shù)據(jù)解壓縮:當(dāng)需要讀取存儲在 ZRAM 中的數(shù)據(jù)時,內(nèi)核會對數(shù)據(jù)進(jìn)行解壓,然后再將解壓后的數(shù)據(jù)提供給應(yīng)用程序或系統(tǒng)進(jìn)程。
ZRAM 的壓縮機制雖然可以節(jié)省內(nèi)存,但壓縮和解壓過程需要 CPU 的參與,所以會增加一定的 CPU 負(fù)載。因此,在 CPU 性能較弱的系統(tǒng)中,大量使用 ZRAM 反而可能會導(dǎo)致系統(tǒng)性能下降。
2. 在 Ubuntu 加載 ZRAM 模塊
2.1 檢查 Ubuntu 內(nèi)存使用情況
在啟用 ZRAM 之前,最好先通過free
命令來了解系統(tǒng)當(dāng)前的內(nèi)存使用情況:
free -h
使用 free 命令查看 Ubuntu 內(nèi)存使用
此命令會顯示你的總內(nèi)存、已用內(nèi)存和空閑內(nèi)存。通過這些信息,可以與啟用 ZRAM 之后進(jìn)行對比。
2.2 在 Ubuntu 上加載 ZRAM 模塊
ZRAM 已經(jīng)包含在 Linux 內(nèi)核中,我們只需加載 ZRAM 模塊并驗證模塊是否加載成功。
sudo modprobe zram # (臨時)加載 zram 內(nèi)核模塊 lsmod | grep zram # 查看是否加載成功
加載 zram 內(nèi)核模塊并驗證是否成功
如果在輸出中看到zram
,就表示模塊已成功加載。
第 3 步:在 Ubuntu 中配置 ZRAM
3.1 創(chuàng)建 ZRAM 服務(wù)
為了方便配置和管理,我們可以將 ZRAM 配置編寫成一個服務(wù)腳本,來方便隨時啟用和禁用:
1、使用你習(xí)慣的文本編輯器(如 vim 或 nano),創(chuàng)建一個zram.service
服務(wù)配置文件:
sudo vim /etc/systemd/system/zram.service
2、將以下配置并粘貼到文件中:
[Unit] Description=ZRAM Configuration After=local-fs.target [Service] Type=oneshot ExecStart=/usr/sbin/modprobe zram ExecStart=/bin/sh -c 'echo 2G > /sys/block/zram0/disksize' ExecStart=/bin/sh -c 'mkswap /dev/zram0' ExecStart=/bin/sh -c 'swapon /dev/zram0' RemainAfterExit=yes [Install] WantedBy=multi-user.target
根據(jù)你 Ubuntu 系統(tǒng)的物理內(nèi)存大小,在
ExecStart
行中調(diào)整需要的 ZRAM 大小,一般設(shè)置為 RAM 大小的 50%-100%。
創(chuàng)建 ZRAM 服務(wù)配置文件
3、使用以下命令啟動并啟用 ZRAM 服務(wù):
sudo systemctl daemon-reload # 重新載入服務(wù)配置文件 sudo systemctl enable zram.service # 啟用 zram 服務(wù) sudo systemctl start zram.service # 啟動 zram 服務(wù)
加載并啟動 ZRAM 服務(wù)
4、啟動服務(wù)后,通過以下命令,檢查 ZRAM 是否處于活動狀態(tài)并正在使用:
swapon --show
如果看到/dev/zram0
設(shè)備,表示 ZRAM 正在活動并作為內(nèi)存交換空間。
檢查 ZRAM 活動狀態(tài)
3.2 查看 ZRAM 內(nèi)存使用情況
再次使用free
命令查看內(nèi)存使用情況,可以對比啟用 ZRAM 之前的可用內(nèi)存:
free -h
通過這個命令,你可以查看啟用 ZRAM 前后,系統(tǒng)可用內(nèi)存是否有明顯增加。
4. 調(diào)整 ZRAM 配置(可選)
如果發(fā)現(xiàn)系統(tǒng)性能不如預(yù)期,可以隨時調(diào)整 ZRAM 的容量:
1、停止 ZRAM 服務(wù):
sudo systemctl stop zram.service
2、重新編輯zram.service
服務(wù)配置文件:
sudo vim /etc/systemd/system/zram.service
3、將disksize
值更改為你想要的大小,然后再次啟動 ZRAM 服務(wù)。
sudo systemctl start zram.service
通過以上步驟,你可以在 Ubuntu 上輕松配置和使用 ZRAM 內(nèi)存壓縮功能,以提高系統(tǒng)內(nèi)存利用效率。尤其在內(nèi)存資源有限的場景,ZRAM 能夠延緩系統(tǒng)進(jìn)入交換(swap)的狀態(tài),保持系統(tǒng)的運行效率。
相關(guān)文章
Ubuntu怎么安裝Intel NPU驅(qū)動? 通過Snap Store輕松搞定
Ubuntu系統(tǒng)中要充分發(fā)揮NPU 驅(qū)動的作用,除了需要你的 CPU 集成了 NPU 處理單元外,相關(guān)軟件、工具或應(yīng)用程序也需支持通過 NPU 來完成 AI 任務(wù)2024-10-21Ubuntu 24.04 LTS 怎么安裝和卸載Docker?
Docker 是一個免費的開源工具,設(shè)計用于在容器中構(gòu)建、部署和運行應(yīng)用程序,我們將逐步介紹如何在 Ubuntu 24.04 LTS 上安裝 Docker2025-03-13- Java是最受歡迎的編程語言之一,怎么在Ubuntu 24.04 LTS中安裝和卸載java呢?詳細(xì)請看下文介紹2024-09-14
Ubuntu 24.04 LTS怎么設(shè)置固定IP地址?
在Ubuntu 24.04 LTS上設(shè)置固定IP地址可以通過圖形界面和命令行兩種方式來完成,下面我們就來看看詳細(xì)的教程2024-09-14Ubuntu 24.04 LTS和22.04 LTS有什么區(qū)別? 安裝/界面/新功能等對比
2022 年 4 月發(fā)布的 Ubuntu 22.04 LTS 相較于 20.04 LTS 帶來了諸多引人注目的創(chuàng)新,下面我們從安裝、界面、新功能等來介紹區(qū)別2024-09-14怎么隱藏Ubuntu頂部狀態(tài)欄? Ubuntu不顯示屏幕上方狀態(tài)欄的技巧
在Ubuntu系統(tǒng)中,頂部狀態(tài)欄包括時間顯示、網(wǎng)絡(luò)連接、電源圖標(biāo)等,我們可能需要隱藏頂部狀態(tài)欄,詳細(xì)請看下文介紹2024-09-13Ubuntu24.04LTS怎么配置? 安裝Ubuntu 24.04 LTS后的10項基本建議
電腦安裝完Ubuntu 24.04 LTS后,為了有更好的體驗,可以進(jìn)行必要設(shè)置,下面我們來看看系統(tǒng)安裝完成后,有哪些設(shè)置工作需要做一下2024-09-02老用戶如何就地升級到 Ubuntu 24.04 LTS 桌面版?
Canonical 發(fā)布了最新的操作系統(tǒng) Ubuntu 24.04,代號為 Noble Numbat,這是一個 LTS (長期支持)版本,意味著我們將獲得未來 長達(dá) 5 年更新和支持,詳細(xì)請看下文安裝教程2024-09-02如何制作ubuntu啟動盤? 3招教你輕松創(chuàng)建Ubuntu啟動盤教程
今天我們就來介紹如何在 Windows、macOS 和 Ubuntu 系統(tǒng)中,制作 Ubuntu 啟動盤的幾種簡單方法,都很簡單,詳細(xì)請看下文介紹2024-09-02Ubuntu 24.04 LTS中窗口平鋪怎么用? 從入門到進(jìn)階攻略
窗口平鋪在windows中很常用,那么Ubuntu 24.04 LTS系統(tǒng)中怎么充分使用這個功能呢?詳細(xì)請看下文介紹2024-08-31