• 首页
  • 归档
  • 关于
  • 搜索
  • 夜间模式
    ©2026  望时代 Theme by OneBlog

    望时代

    搜索
    标签
    # 教程 # Linux # 脚本 # AI # 影音 # 游戏 # 随笔 # 科技 # 认知
  • 首页>
  • >
  • 正文
  • ZRAM 与磁盘交换分区对比测试

    2026年06月26日 2 阅读 0 评论 5117 字

    ZRAM 与磁盘交换分区对比测试 __2023年4月30日 __3条评论 __334次阅读 __0人点赞 __Tao_Qi 在内存比较捉急的小鸡上,开启 swap 可以减少出现 OOM 而杀掉进程的情况。然而用硬盘分区作为 swap 有几个明显的缺陷:一是速度慢,二是影响其他进程磁盘 io 的速度。 ZRAM 在安卓手机上几乎都是默认开启的,它相对于磁盘交换分区的优势是不会影响其他 io 进程,缺点是更吃 CPU。 前段时间开了一台 bytevirt 的 214M 内存的小鸡。这么小的内存用 alpine 应该比较合适,但是 openrc 我不会用,所以装了 debian,这样就肯定要开 swap 了。但是这家的 SSD 速度感人 : 用 sysbench 测试顺序读写:
    [code]

    Throughput:
        read, MiB/s:                  340.05
        written, MiB/s:               0.00
    
    Throughput:
        read, MiB/s:                  0.00
        written, MiB/s:               93.66
    

    [/code]

    16K 随机读写:
    [code]

    Throughput:
        read, MiB/s:                  6.55
        written, MiB/s:               4.37
    

    [/code]

    我发现论坛上几乎没有讨论 ZRAM):
    [code]

    7-Zip (z) 22.01 (x64) : Copyright (c) 1999-2022 Igor Pavlov : 2022-07-15
     64-bit locale=C.UTF-8 Threads:1
    
     d24
    Compiler: 10.2.1 20210110 GCC 10.2.1
    Linux : 5.10.0-15-cloud-amd64 : #1 SMP Debian 5.10.120-1 (2022-06-09) : x86_64
    PageSize:4KB THP:never hwcap:2 hwcap2:2
    Intel(R) Xeon(R) CPU E3-1241 v3 @ 3.50GHz (306C3) 
    
    1T CPU Freq (MHz):  3567  3439  3446  3505  3473  3460  3438
    
    RAM size:     181 MB,  # CPU hardware threads:   1
    RAM usage:    220 MB,  # Benchmark threads:      1
    
                           Compressing  |                  Decompressing
    Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
             KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS
    
    22:       3403   100   3326   3311  |      41719   100   3574   3562
    23:       2786    90   3151   2839  |      40143    99   3500   3475
    24:         27    46     64     30  |      39143    99   3460   3436
    ----------------------------------  | ------------------------------
    Avr:      2072    79   2180   2060  |      40335    99   3512   3491
    Tot:              89   2846   2776
    

    [/code]

    磁盘 swap 组:
    [code]

                           Compressing  |                  Decompressing
    Dict     Speed Usage    R/U Rating  |      Speed Usage    R/U Rating
             KiB/s     %   MIPS   MIPS  |      KiB/s     %   MIPS   MIPS
    
    22:       3621    99   3560   3523  |      42135    99   3627   3598
    23:       3119    97   3260   3178  |      40484    99   3551   3504
    24:         20     9    256     22  |      36118    92   3438   3171
    ----------------------------------  | ------------------------------
    Avr:      2253    68   2359   2241  |      39579    97   3539   3424
    Tot:              83   2949   2833
    

    [/code]

    测试结果的说明可以参考这里。 这里的关键数据是 Dict=24 时的 Compressing 部分,只有这部分高强度使用交换分区。截取出来是:
    [code]

    // zram
    Dict     Speed Usage    R/U Rating
             KiB/s     %   MIPS   MIPS
    24:         27    46     64     30
    

    [/code]
    [code]

    // 磁盘 swap
    Dict     Speed Usage    R/U Rating
             KiB/s     %   MIPS   MIPS
    24:         20     9    256     22
    

    [/code]

    其中 Speed 项,即压缩速度,尽管 zram 用的不是最快的算法(没有用 lz4 而是 zstd),zram 还是比磁盘 swap 快了 35%,这就是本次测试的结论。 再看 Usage 项,即 CPU 使用率,zram 组为 46%,其余时间在进行 zram 压缩/解压缩;而磁盘 swap 组只有 9%,其余时间在等待磁盘 io。 最后的结论是,在硬盘不太快的 vps 上,建议使用 zram 作为交换空间。 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议

    1. nsx-na1说道: 2023年4月30日 上午5:32
    2. nsx-na1说道: 2023年4月30日 上午5:40 Dict=24以外的部分可以忽略,因为几乎没有使用交换分区。

    Dict=24的压缩部分运行的时间非常长,有十几分钟,速度误差应该很小。这部分测试内存占用一直保持90%,交换分区占用130-250MB。 回复

    1. nsx-na1说道: 2023年4月30日 上午5:55

    发表回复 取消回复电子邮件地址不会被公开。必填项已用 标注 __ __

    本文著作权归作者 [ doudoudoubao ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    取消回复

    发表留言
    回复

    Copyright©2026  All Rights Reserved.  Load:0.003 s
    Theme by OneBlog V3.7.1
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。