返回

linux如何开启Zram

当我们买的vps没有多少硬盘和内存,zram就来拯救了

目录

Zram通常用在安卓手机等嵌入式设备里面,比如2.0GB的运行内存里面就有1.8的真实运行内存和0.2的zram内存用来凑数,zram还有个好处就是不用占用硬盘空间也不用损耗硬盘

# zRAM 和 Swap 区别

zRAM 和传统的交换空间(Swap)都是 Linux 系统用来增加可用内存的技术,但它们的工作方式和使用场景有所不同。

传统交换空间(Swap):

  • 存储介质: Swap 通常使用硬盘驱动器(HDD)或固态驱动器(SSD)作为交换区。

  • 性能: 因为硬盘速度远慢于 RAM,使用 Swap 可能会显著减慢系统速度,尤其是在内存耗尽时。

  • 可靠性: Swap 在不同的物理介质上,因此不会影响 RAM 的寿命。

用途: 在物理内存用完时,可以作为溢出区域,但由于速度慢,通常只适合非常低的内存压力。

zRAM:

  • 存储介质: zRAM 是一种压缩的 RAM 块设备,它使用内存本身来存储压缩的数据。

  • 性能: zRAM 的读写速度远快于传统 Swap,因为它直接在 RAM 上操作。压缩和解压缩数据需要一定的 CPU 资源,但通常这种

  • 开销小于从硬盘读写数据的时间。

  • 可靠性: 由于 zRAM使用的是 RAM,频繁的读写可能会对 RAM 的寿命造成影响,尽管实际影响非常小。

用途: zram 非常适合用于拥有有限 RAM 或需要快速交换区的设备,如嵌入式设备或旧计算机,也常用于Android设备。

# 总结:

zRAM 提供了一种在不增加物理内存的情况下增加有效内存容量的方式,通过在 RAM 中创建一个压缩块设备来实现。

传统的交换空间(Swap)是硬盘上的一部分,当系统的物理内存不足时,用作虚拟内存使用。

zram 特别适合于内存较小的系统,因为它可以以较小的性能开销增加一些“虚拟”的内存,虽然这会增加 CPU 的负担。

传统 Swap 则适用于有足够硬盘空间且内存压力不是非常大的情况,特别是当系统负载不高,但偶尔需要更大内存时。

最佳实践可能是将 zRAM 和传统 Swap 结合起来使用,以获得更灵活和更优化的性能。在内存紧张时,zRAM 可以提供更快的数据交换,而在 zRAM 也用尽时,传统 Swap 可以作为最后的备份。

# 一键设置脚本

https://github.com/spiritLHLS/addzram

https://github.com/spiritLHLS/addswap

# Swap内存(占用硬盘空间)

更新时间:2023.08.27

为openvz、kvm虚拟化的linux服务器增加swap分区(虚拟内存)

1
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

已增加openvz架构重启swap自动添加的

openvz这个添加=掩耳盗铃,实际受到虚拟化限制应该是无法添加的,只能由虚拟化的宿主机控制,同理LXC虚拟化的也只能由宿主机控制,都无法自主添加虚拟内存SWAP

单位换算:输入 1024 产生 1G SWAP内存

# Zram内存(占用CPU)

更新时间:2023.08.30

为linux服务器启用zram设备(压缩内存)

1
curl -L https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh -o addzram.sh && chmod +x addzram.sh && bash addzram.sh

只不过zram是压缩内存占用,swap是附加虚拟内存增加内存空间,二者都会占用CPU资源,zram在CPU性能冗余的机器上使用更优

(理论上zram会比swap的性能占用低,但未实际测试过)

单位换算:输入 1024 产生 1G 的 zram 设备压缩内存,zram 设备大小最好不要大于实际内存大小

转载需要保留原始链接,未经明确许可,禁止商业使用。CC BY-NC-SA 4.0

最后更新于 2024-12-04 00:13 UTC