ubuntu使用zram进行虚拟内存管理

jurioo1年前操作系统55

1.安装和启用 ZRAM

sudo apt-get install zram-config
sudo systemctl enable zram-config.service
sudo systemctl start zram-config.service

2.修改ZRAM启动内存

# cat /lib/systemd/system/zram-config.service 
[Unit]
Description=Initializes zram swaping
Before=systemd-oomd.service

[Service]
ExecStart=/usr/bin/init-zram-swapping
ExecStop=/usr/bin/end-zram-swapping
Type=oneshot
RemainAfterExit=true

[Install]
WantedBy=multi-user.target
# cat /usr/bin/init-zram-swapping
[Unit]
Description=Initializes zram swaping
Before=systemd-oomd.service

[Service]
ExecStart=/usr/bin/init-zram-swapping
ExecStop=/usr/bin/end-zram-swapping
Type=oneshot
RemainAfterExit=true

[Install]
WantedBy=multi-user.target
(base) root@aliyun-sh-g-jurioo-lab02:/lib/systemd/system# cat /usr/bin/init-zram-swapping
#!/bin/sh

modprobe zram

# Calculate memory to use for zram (1/2 of ram)
totalmem=`LC_ALL=C free | grep -e "^Mem:" | sed -e 's/^Mem: *//' -e 's/  *.*//'`
mem=$((totalmem / 2 * 1024))

# initialize the devices
#echo $mem > /sys/block/zram0/disksize
echo 4299161600 > /sys/block/zram0/disksize
mkswap /dev/zram0
swapon -p 5 /dev/zram0

可以将$mem 修改为固定值, 默认为系统内存的1/2,这边设置的是4100*1024*1024 即4100M,重启即可

3. 如果要手动设置

#1. 停止 ZRAM 服务
sudo systemctl stop zram-config.service
#2. 删除现有的 ZRAM 设备
sudo modprobe zram
sudo modprobe -r zram
#3. 配置 ZRAM 设备并设置大小
echo 4299161600 | sudo tee /sys/block/zram0/disksize
#4. 验证 ZRAM 的大小是否已经设置为 4GB:
cat /sys/block/zram0/disksize
#5. 启用 ZRAM 设备
sudo systemctl start zram-config.service
#6. 验证 ZRAM 状态
free -m
#7. 检查 ZRAM 压缩效果
cat /sys/block/zram0/compression_algorithm
cat /sys/block/zram0/stat



相关文章

分析内核模块可以帮助你确定系统中是否存在潜在的恶意模块

分析内核模块可以帮助你确定系统中是否存在潜在的恶意模块。以下是一些步骤和命令,可以帮助你分析和检查内核模块:### 1. 列出所有加载的内核模块使用 `lsmod` 命令列出所有当前加载的内核模块:`...

驱动软件和操作系统层次结构以及对应的关系

操作系统层次结构硬件层:包括 CPU、内存、硬盘、网络接口卡(NIC)等物理设备。核心层(内核层):内核是操作系统的核心部分,负责管理和调度硬件资源,提供底层服务,如进程管理、内存管理、文件系统等。内...

WIFI无线网络标准5/6/7

Wi-Fi 5、Wi-Fi 6 和 Wi-Fi 7 是 IEEE 802.11 标准的不同版本,每个版本都带来了新的特性和改进,以提高网络性能、容量和效率。以下是这些标准的主要特点和区别:### Wi...

使用du与df命令查看磁盘容量不一致

使用du与df命令查看磁盘容量不一致

问题描述在Linux系统的ECS实例中,执行du与df命令查看磁盘容量,出现不一致的现象,以下为出现不一致的5种现象:执行df -h命令查看文件系统的使用率,可以看到/dev/xvdb1磁盘...

扩容分区和文件系统(Linux)

扩容分区和文件系统(Linux)

扩容分区和文件系统(Linux)前提条件操作系统版本需符合要求。请确保Linux实例的操作系统是Alibaba Cloud Linux 2/3、CentOS 6及以上、Debian 8及以上或者Ubu...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。