Zram

来自资料库(何亚红)
HEYAHONG讨论 | 贡献2023年9月4日 (一) 07:04的版本 →‎自动加载
跳转到导航 跳转到搜索

说明

zram是一个基于内存的Linux块设备,其页可压缩。

zram通常配合swap使用时可优化内存实现内存压缩功能,也可以直接当作普通块设备使用。

手动加载

modprobe

modprobe可用于加载Linux内核模块。

注意:需要root权限执行。只能加载未加载的模块。

模块参数参数:

参数名称 说明
num_devices zram设备数量,如modprobe zram num_devices=32,用于加载zram时产生32个zram设备文件(zram0到zram31)。

zramctl

zramctl是一个设置或控制zram设备的工具。

注意:需要root权限执行。

zram设备文件的大小可由zramctl的-s选项设置。

自动加载

此章节适用于ubuntu 22.04(及以上)或者具有以下特征的Linux系统:

  • 采用udev作为设备管理器。
  • 采用systremd作为服务管理器及init系统。

模块自动加载

在/etc/modules或者/etc/modules-load/modules.conf(若都不存在则创建/etc/modules-load/modules.conf)中添加一行,内容为zram。

添加后开机将自动加载zram模块。

modprobe选项

在/etc/modprobe.d/zram.conf(若不存在则创建)中添加如下内容:

#使用option选项设置加载模块时的参数。
#下面的设置将zram设备数量设置为32
option zram num_devices=32

udev设置

在/etc/udev/rules.d/99-zram.rules(若不存在则创建)中添加如下内容:

#当加载zram0设备时通过sysfs设置zram磁盘大小为8G:
KERNEL="zram0",ATTR{disksize}="8192M",TAG+="systemd"

官方资料

https://docs.kernel.org/admin-guide/blockdev/zram.html