目录
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分区(虚拟内存)
|
|
已增加openvz架构重启swap自动添加的
openvz这个添加=掩耳盗铃,实际受到虚拟化限制应该是无法添加的,只能由虚拟化的宿主机控制,同理LXC虚拟化的也只能由宿主机控制,都无法自主添加虚拟内存SWAP
单位换算:输入 1024 产生 1G SWAP内存
# Zram内存(占用CPU)
更新时间:2023.08.30
为linux服务器启用zram设备(压缩内存)
|
|
只不过zram是压缩内存占用,swap是附加虚拟内存增加内存空间,二者都会占用CPU资源,zram在CPU性能冗余的机器上使用更优
(理论上zram会比swap的性能占用低,但未实际测试过)
单位换算:输入 1024 产生 1G 的 zram 设备压缩内存,zram 设备大小最好不要大于实际内存大小