低内存 Linux 服务器开启 zram

33次阅读
没有评论

共计 1605 个字符,预计需要花费 5 分钟才能阅读完成。

介绍

在内存比较小的机器上,我们一般都会选择开启虚拟内存 swap,在内存不足时将部分数据写入磁盘。这种方式增加了内存,但是硬盘的访问速度比较慢。教程:Linux 创建和释放 swap 分区 - 阿蛮君博客

zram 是 Linux 内核提供的一种压缩内存块设备技术,相当于在内存里开一个 “压缩的硬盘”,数据压缩后占用更少的物理内存,从而增加可用内存容量。但是,压缩和解压操作更吃 CPU 资源,所以可以根据自己的需求选择合适的算法。

zram 和 swap 比较:

特性 Swap ZRAM
访问速度 慢(磁盘 I/O) 快(CPU 压缩/解压,近 RAM)
内存利用率 无压缩,直接占用 压缩,内存使用更高效
CPU 占用 低(磁盘读写为主) 高(压缩/解压需 CPU)
稳定性 高,可非常大 受 CPU 和内存限制,不适合过大 swap
写入寿命 SSD 有磨损 无额外磨损(RAM)

开启zram

1. 检查模块是否加载

lsmod | grep zram

如果没有输出,说明没有加载模块。

2. 加载模块

sudo modprobe zram

# 再次检查
lsmod | grep zram

3. 安装zram工具

sudo apt install systemd-zram-generator

4. 配置

创建或编辑 /etc/systemd/zram-generator.conf

[zram0]
# 大内存不开启
host-memory-limit = 8096
# 最大设置为2g
zram-size = min(ram / 2, 2048)
# 压缩算法
compression-algorithm = zstd
options = discard

5. 重载配置并启动

# 重新加载 systemd 守护进程
sudo systemctl daemon-reexec

# 启动 zram0 设备
sudo systemctl start systemd-zram-setup@zram0.service
# 查看状态
systemctl status systemd-zram-setup@zram0.service

6. 查看zram信息

zramctl

显示 zram 设备大小、压缩率和 swap 状态。

7. 查看swap信息

swapon --show

手动创建

在 centos 或其他 linux 上可能需要手动创建 zram,重启会失效,所以需要通过服务和脚本进行管理。

1. 创建 systemd 服务文件

/etc/systemd/system/zram.service

[Unit]
Description=Setup ZRAM Swap
After=multi-user.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/sbin/setup-zram.sh
ExecStop=/usr/local/sbin/cleanup-zram.sh

[Install]
WantedBy=multi-user.target

2. 创建启动脚本

/usr/local/sbin/setup-zram.sh

#!/bin/bash
modprobe zram
echo 2G > /sys/block/zram0/disksize
echo zstd > /sys/block/zram0/comp_algorithm
mkswap /dev/zram0
swapon /dev/zram0

添加执行权限:

sudo chmod +x /usr/local/sbin/setup-zram.sh

3. 创建停止脚本

/usr/local/sbin/cleanup-zram.sh

#!/bin/bash
swapoff /dev/zram0
echo 0 > /sys/block/zram0/reset

添加执行权限:

sudo chmod +x /usr/local/sbin/cleanup-zram.sh

4. 启用并启动服务

sudo systemctl daemon-reload
sudo systemctl enable --now zram.service
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完
 0
阿蛮君
版权声明:本站原创文章,由 阿蛮君 于2025-11-17发表,共计1605字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
Copyright © 2023-2025 阿蛮君博客 湘ICP备2023001393号
本网站由 亿信互联 提供云计算服务 | 又拍云CDN 提供安全防护和加速服务
Powered by Wordpress  Theme by Puock