ZRAM(压缩内存块设备)和传统的SWAP分区都是Linux系统中用来增加可用内存的方法,但它们的工作原理和实现方式有很大的区别:

ZRAM

  1. 压缩内存:ZRAM使用压缩算法将数据存储在内存中。这样,当系统需要将数据写入swap空间时,它会首先将数据压缩,然后存储在RAM中。这意味着相同大小的物理内存可以存储更多的数据。

  2. 速度:由于数据在RAM中进行压缩和解压缩,因此读写操作比传统的硬盘Swap分区要快得多。压缩和解压缩数据的开销通常比从硬盘读取或写入数据的时间要短。

  3. 减少硬盘I/O:ZRAM通过减少对硬盘的I/O操作来提高系统性能和硬盘寿命,因为硬盘的读写速度相对较慢,并且频繁的I/O操作会对硬盘产生磨损。

  4. 适用场景:ZRAM通常用于内存有限的系统,如嵌入式设备、虚拟机和容器,以提高系统的响应速度和性能。

SWAP分区

  1. 物理存储:传统的Swap分区将数据写入物理存储设备(如硬盘或SSD)。当系统的物理内存不足时,它会将数据移到Swap分区,从而释放物理内存。

  2. 速度:Swap分区的速度受限于硬盘的读写速度。尽管SSD的读写速度比传统硬盘快,但仍然比RAM要慢。

  3. I/O开销:频繁的Swap操作会增加硬盘的I/O开销,尤其是在使用传统硬盘时,可能会导致性能瓶颈和硬盘寿命缩短。

  4. 适用场景:Swap分区适用于大多数桌面和服务器环境,提供一种相对廉价和简单的方法来扩展可用内存。

总结

  • 性能:ZRAM通过在内存中压缩数据,提供比Swap分区更快的读写速度。
  • I/O开销:ZRAM减少了对硬盘的I/O操作,从而延长硬盘寿命和提高系统性能。
  • 适用场景:ZRAM适用于内存有限的系统和需要高响应速度的场景,而Swap分区则更适合内存充足且需要较大Swap空间的环境。

你可以根据具体的使用场景和需求来选择使用ZRAM或传统的Swap分区,或者在某些情况下结合使用两者来获得最佳性能和稳定性。

ZRAM 的SWAP功能是读写磁盘还是读写内存

ZRAM的Swap功能是通过读写内存来实现的,而不是读写磁盘。具体来说,ZRAM将数据压缩后存储在内存中,避免了传统Swap分区需要将数据写入磁盘的过程。因此,ZRAM的Swap操作具有以下特点:

  1. 读写内存:ZRAM直接在内存中进行数据的压缩和解压缩操作,所有的数据读写都发生在内存中。这大大提高了Swap操作的速度,因为内存的读写速度远快于磁盘。

  2. 压缩数据:ZRAM使用压缩算法(如LZO或ZSTD)将数据压缩存储在内存中,从而节省了内存空间。虽然压缩和解压缩数据需要一定的CPU资源,但通常这种开销远小于从磁盘读写数据的时间。

  3. 减少I/O负载:由于ZRAM在内存中操作,避免了频繁的磁盘I/O操作,从而减轻了磁盘负载,提高了系统的整体性能,特别是在内存和I/O资源有限的系统中。

总结

ZRAM的Swap功能主要是通过在内存中读写压缩数据来扩展可用内存空间,并且避免了传统Swap分区需要读写磁盘的瓶颈。这使得ZRAM在需要高性能和低延迟的场景下,尤其是在内存有限的系统中,成为一个非常有效的内存管理解决方案。

ZRAM的Swap功能和 SWAP分区有什么区别的更多相关文章

  1. centos系统swap设置 查看swap分区的方法

    交换分区swap,意思是“交换”.“实物交易”,它的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间,腾出内存来让别的程序运行,和Windows的虚拟内存(pagefi ...

  2. 阿里云云主机swap功能设置实战案例

    阿里云云主机swap功能设置实战案例 阿里云提供的云服务器(Elastic Compute Service,简称 ECS),是云主机的一种,当前采用的虚拟化驱动是Xen(这一点可以通过bios ven ...

  3. Difference Between Currency Swap and FX Swap

    [z]https://www.differencebetween.com/difference-between-currency-swap-and-vs-fx-swap/ Currency Swap ...

  4. 大数据学习day19-----spark02-------0 零碎知识点(分区,分区和分区器的区别) 1. RDD的使用(RDD的概念,特点,创建rdd的方式以及常见rdd的算子) 2.Spark中的一些重要概念

    0. 零碎概念 (1) 这个有点疑惑,有可能是错误的. (2) 此处就算地址写错了也不会报错,因为此操作只是读取数据的操作(元数据),表示从此地址读取数据但并没有进行读取数据的操作 (3)分区(有时间 ...

  5. Swap Swap,即交换分区

    Swap,即交换区,除了安装Linux的时候,有多少人关心过它呢?其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要.通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费用 ...

  6. ubuntu14.04 swap not avalible交换分区不能使用

    系统最近特别卡,打开"System monitor"中的resource发现"swap not avalibe".原来系统每交换分区. 我的是笔记本电脑,存储空间有限.首先我下载磁盘分区工具Gpart ...

  7. java坏境内存不够用 大量占用swap 临时加swap

    dd if=/dev/sda of=/tmp/mbr.bin   bs=512   count=1 查询2进制文件 file  看文件类型 思路 创建一个大文件作为swap 1.1创建文件 [root ...

  8. MySQL全面瓦解29:使用Partition功能实现水平分区

    1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括了 垂直拆分(Scale Up 纵向扩展)和 水平拆分(Scale Out 横向扩展) ,同时简要整理了水平分区的几种策略,现在来回顾一下. ...

  9. 监控 Linux Unix Solaris AIX, swap page in / swap page out

    vmstat 的 pi/po si/so --监控一天 vmstat 5 17280> vmstat.txt sar -W 1.得到数据 (linux 的 /var/log/sar/saX 自带 ...

  10. OSI参考模型及各层功能,TCP与UDP的区别

    OSI参考模型:ISO/IEC 7498标准定义了网络互联的7层结构模型,即开放系统互连参考模型. OSI参考模型定义了开放系统的层次结构.层次之间的相互关系,以及各层所包括的可能的服务.OSI的服务 ...

随机推荐

  1. 浅谈 I/O 与 I/O 多路复用

    1.基础知识 网络编程里常听到阻塞IO.非阻塞IO.同步IO.异步IO等概念,总听别人聊不如自己下来钻研一下.不过,搞清楚这些概念之前,还得先回顾一些基础的概念. 下面说的都是Linux环境下,跟Wi ...

  2. 【Java】再谈Springboot 策略模式

    第一次使用策略模式是一年前的一个项目: https://www.cnblogs.com/mindzone/p/16046538.html 当时还不知道Spring支持集合类型的自动装配 在最近一个项目 ...

  3. 【Android】构建Android12项目报错

    报错信息: Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Man ...

  4. 公开号CN117354339A —— 数据传输专利 —— 解决了相关技术在进行数据传输的过程中时效性较差的技术问题

    看到一个新闻: 地址: https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_92907119 ...

  5. 老代码报错:scipy.misc.imresize报错: AttributeError: module 'scipy.misc' has no attribute 'imresize'

    运行老代码报错: image = misc.imresize(image, [Config.IMAGE_HEIGHT, Config.IMAGE_WIDTH], 'bilinear')Attribut ...

  6. 神经网络初始化:xavier,kaiming、ortho正交初始化在CNN网络中的使用

    xavier.ortho是神经网络中常用的权重初始化方法,在全连接中这两种权重初始化的方法比较好理解,但是在CNN的卷积网络中的具体实现却不好理解了. 在CNN网络中xavier的初始化可以参看: [ ...

  7. 再探 游戏 《 2048 》 —— AI方法—— 缘起、缘灭(5) —— 第一个用于解决2048游戏的Reinforcement learning方法——《Temporal Difference Learning of N-Tuple Networks for the Game 2048》

    <2048>游戏在线试玩地址: https://play2048.co/ 如何解决<2048>游戏源于外网的一个讨论帖子,而这个帖子则是讨论如何解决该游戏的最早开始,可谓是&q ...

  8. 2023 SMU RoboCom-CAIP 选拔赛

    前言 更详细题解可以参考咱学长的( 2023 SMU RoboCom-CAIP 选拔赛.zip A. 小斧头 f_k 表示满足条件的j = k 的(i,j)对的数量.如上图中第四行即为f1至f5的元素 ...

  9. 虚拟机中创建的centos网络ping不通 - ping unkown host

    一.查看虚拟机设置 二.su 进入超级管理员账户  ls /etc/sysconfig/network-scripts 查看虚拟机网络信息 第一个,每一个机器的配置文件名不同 进入到  network ...

  10. C# 导出datatable数据到excel

    第一步:下载两个需要的NUGET包 1.org.in2bits.MyXls:2.NPOI 第二步:关键类OutExcel. using System; using System.Linq; using ...